RDLC报表控件一 绑定数据源

一 绑定数据库资源

这个比较简单,新建一个Report之后,或者在Data Source 窗口点新建Data Source,会弹出如下对话框,在框中选择DataBase之后按照自己的数据库相关信息进行配置即可。
RDLC报表控件一 绑定数据源_第1张图片
图1
这种选择资源的方式,获取的字段都是数据库中的表、视图、存储过程以及触发器中的字段,比较依赖数据库SQL语句,当然,这些字段的值也是可以在后面的运行过程中动态改变的。

二 运行时动态绑定资源

  动态绑定资源可以在针对数据库中的表或视图中的字段,在运行过程中改变它们的值,也可以是从一开始就脱离数据库,自己设计字段和表,然后在运行过程中为这些字段赋值。这里演示后者,因为后者的灵活性更大,在开发过程中也更常为使用。
1. 首先新建Report时直接跳过图一所示的选择数据源的过程。这时将会新建一个空白的Report。
2. 然后在项目中新建一个DataSet数据集。
RDLC报表控件一 绑定数据源_第2张图片
图2
如图2所示,在空白处右键新建一个DataTable,然后对DataTable进行编辑,添加列。如图3所示。
RDLC报表控件一 绑定数据源_第3张图片
图3
3. 然后返回Report对象的设计页面,在Report Data窗口新建一个DataSet 数据集。
RDLC报表控件一 绑定数据源_第4张图片
图4
在DataSource下拉栏中选择刚才创建的数据集,然后选择数据表,数据表中的字段会在Fields窗口中显示。然后点确定即可。
4. 向Report对象中拖一个Table控件,并为其赋值。如图5所示。
RDLC报表控件一 绑定数据源_第5张图片
图5

5. 写一个返回DataTable的函数,返回的DataTable即包含我们需要用到的数据。这些数据可以从数据库中获取,也可以通过其他方式生成。下面只是个例子。

private DataTable load_test()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("name");
            dt.Columns.Add("age");
            dt.Columns.Add("sex");
            dt.Rows.Add("tiang", 21, "男");
            return dt;
        }
6. 在窗体中添加一个ReportViewer,并完成以下代码
            //绑定报表文件
            reportViewer1.LocalReport.ReportPath = @"../../Report3.rdlc";
            //清空DataSource
            reportViewer1.LocalReport.DataSources.Clear();
            //重新添加DataSource,切记"DataSet1"是在Report对象中添加的数据集的名称,load_test()返回的DataTable包含该数据集中字段的值。要一一对应。
            reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", load_test()));
            //刷新报表显示器
            reportViewer1.RefreshReport();

至此,动态绑定数据源的工作级已完成。

你可能感兴趣的:(RDLC报表控件一 绑定数据源)