vs2010 rdlc 报表及报表控件
有个winfrom项目要使用报表,数据来源于自定义类(model),从网上找了好多教程,都是说如何拖控件,如何设值之类的。没有我想要的效果。
我想要的效果:将rdlc文件放到Debug目录下,以便一些特殊格式的修改!
实现从自定义的类中读取数据。而不是C#封装的数据源 DataSet中。
吐槽完毕!
源代码及过程:
第一步:新建form和一个rdlc文件。在新建一个类,作为数据的model,并写出获取此model的方法
class Users { public string Name { get; set; } public string Sex { get; set; } public Users(string name,string sex) { this.Name = name; this.Sex = sex; } public Users() { } public List<Users> getList() { List<Users> listuser = new List<Users>(); listuser.Add(new Users("aaaa","ddd")); listuser.Add(new Users("bbbb", "cccc")); listuser.Add(new Users("eeee", "ffff")); return listuser; }
第二步:在新类中添加字段或属性。添加完毕后生成项目。
第三步:在vs2010中打开rdlc文件,然后添加数据源
选择 对象 -下一步 选择数据model类 点击 完成。
第四步:在左侧的数据源 视图中 会出现刚才选则的类,里面有自定义的属性或字段,如果没有,点上面的刷新按钮就会出现。
在rdlc上添加表或其它你所需要的控件。然后根据你的排版选择里面的字段。
第五步:在from中拖入reportview控件。然后再form_load事件中添加 以下代码:
Users u=new Users(); reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\ReportTest.rdlc"; reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("ds",u.getList())); this.reportViewer1.RefreshReport();
原文地址:http://www.gotreportviewer.com/
http://www.gotreportviewer.com/objectdatasources/index.html