ActiveReports 支持在设计时和运行时设置报表数据源,本文将重点介绍如何在设计时为区域报表和RDL/页面报表设置报表数据源。

  • 区域报表设计时数据源

    第一步: 在工程中创建一个名为 SectionReport_DataSource_DesignTime.cs 的基于代码的区域报表
    2015-02-05_141052

第二步:创建完成之后,会自动打开报表设计界面,此时在detail区域的左上角处有一个数据源图表,点击该图标可以打开设计时数据源设置对话框,如下图:

2015-02-05_141213

第三步:在报表数据源设置对话框中可以指定:OLE DB、SQL、XML类型数据源,我们以连接连接Access数据库为例,点击“建立连接”按钮可以打开数据源连接向导,如下图:

2015-02-05_1412552015-02-05_141314

第四步:在创建数据源连接之后,在“查询”区域中写入以下SQL查询语句[Select * from 产品],最后得到以下效果:

2015-02-05_141331

第五步:点击“确认”按钮之后回到报表设计界面,从Visual Studio菜单栏中的“视图”->“其他窗口”->“报表资源管理器”中打开ActiveReports报表资源管理器,在资源管理器窗口中可以看到“字段”->“绑定”节点下显示了数据源SQL查询语句返回查询结果的全部数据字段。

2015-02-05_141609

你可以将这些字段直接拖拽到报表设计界面,此时会在报表中自动添加一个文本框控件(TextBox),并且该控件的DataField属性设置为该字段的名称,以此来完成控件与数据源的绑定操作。

2015-02-05_141856

  • RDL/页面报表设计时数据源

    第一步: 在工程中创建一个名为 PageReport_DataSource_DesignTime.rdlx 的页面报表 
    2015-02-05_142102

第二步:从Visual Studio菜单栏中的“视图”->“其他窗口”->“报表资源管理器”中打开ActiveReports报表资源管理器,此时,你可以看到“数据源”节点,在该节点上鼠标右键选择“添加数据源”菜单项,在弹出的“报表数据源”对话框中按照向导步骤连接到一个Access数据库,如下图:

2015-02-05_144045

点击“确定”按钮,完成数据源创建操作,此时,在报表资源管理器窗口中的“数据源”节点下新增了一个名为“DataSource1”的子节点,在该节点上点击鼠标右键,选择“添加数据集”菜单项,在弹出对话框的“查询”选项卡中写入以下SQL查询语句 [Select * from 产品],然后点击“确定”按钮完成数据集创建操作。返回到报表资源管理窗口之后,点击“DataSet1”节点,可以看到SQL查询语句返回查询结果的全部数据字段。

2015-02-05_144209

2015-02-05_144228

第三步:在Visual Studio工具箱中的表格控件(Table)拖拽到报表设计界面,然后点击表格明细行中的单元格,此时,会自动显示DataSet1中数据集中的全部字段,然后,为每个单元格指定需要绑定的字段。

2015-02-05_145808

第四步:加入运行时绑定代码。

            string file_name = @"..\..\Report\PageReport_DataSource_DesignTime.rdlx";
            GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
            GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);
            viewer1.LoadDocument(pageDocument);

运行结果如下图。

2015-02-05_150834

源码下载:VS2010 + ActiveReports。