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

posted @ 2012-08-06 16:20  易水寒2012  阅读(6383)  评论(4编辑  收藏  举报