欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vs2008 怎么教你一步一步做RDLC报表 博客分类: RDLC ITeyeMicrosoftASPXML 

程序员文章站 2024-03-14 15:16:58
...

第一步,建立一个asp的winfrom项目:
建立一个窗体。命名:Frmlist,
然后在工具箱去找到一个选项卡叫 Crystal Reports的,将里面的控件MicrosoftReportViewer拖入窗体Frmlist里面。因为他将会成为接下来做的报表的载体。报表不能直接显示,而是通过这个窗体Frmlist显示。

然后添加一个报表。就跟添加一个新窗体一样。自己去前面找。

 

将新报表命名为ctlTableDemo.rdlc

具体要打印什么,就在里面操作,他右边一样有工具箱。

如果打印表单,那就更简单了。直接连接数据库。因为报表一样要绑定数据库的,你直接绑定后,就可以直接拖拽到对于的表单位置了。

 

而在窗体FrmList里面的加载事件如下

 

 private void Frmlist_Load(object sender, EventArgs e)

        {

            this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;

            this.reportViewer1.LocalReport.ReportPath = "ctlTableDemo.rdlc";

            //

            reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ctlsDemo_vSales", LoadData()));

            //

            this.reportViewer1.RefreshReport();

        }

        private DataTable LoadData()

        {

            DataSet dataSet = new DataSet();

            dataSet.ReadXml(@"data\ctlsDemo.xml");

            return dataSet.Tables[0];

        }

 

 

LoadData()方法里面,你也可以写你绑定的表里面查询一下你要的集合。对应放到dataSet里面,最后返回到上面去。如果是多张表。在 

reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ctlsDemo_vSales", LoadData()));

这里,可以写多个绑定。比如

 private void Frmlist_Load(object sender, EventArgs e)

        {

            this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;

            this.reportViewer1.LocalReport.ReportPath = "ctlTableDemo.rdlc";

            //

            reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ctlsDemo_vSales", LoadData()));

 reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ctlsDemo_vSales", LoadData1()));

            //

            this.reportViewer1.RefreshReport();

        }

        private DataTable LoadData()

        {

            DataSet dataSet = new DataSet();

            dataSet.ReadXml(@"data\ctlsDemo.xml");

            return dataSet.Tables[0];

        }

 

private DataTable LoadData1()

        {

            DataSet dataSet = new DataSet();

            dataSet.ReadXml(@"data\ctlsDemo.xml");

            return dataSet.Tables[0];

        }

这样,你就可以基本上做出报表来了,但是报表里面对应了很多函数,自己慢慢去试试吧,挺简单的。参考部分IIF或者时间格式等函数http://qingyanxiyu.iteye.com/admin/blogs/1094538