ActiveReports中如何运行时绑定多数据集

使用ActiveReports 报表控件运行时绑定数据源的基本操作大家已经熟悉与了解了,主要是调用Document的LocateDataSource 接口,通过数据源和数据集的名称来匹配,通过args.Data 为报表返回数据。报表中包含单个数据集时,大家都会使用了,相信大家都很困惑,那如果一个报表中有多个数据集该如何在运行时绑定。今天我们就来学习在ActiveReports 中如何为一个报表在后台绑定多个数据集。其实现原理与绑定单个数据集相同,只是多个数据集时需要用 数据集的名称来区分数据集,从而绑定数据到对应的数据集。

发布于 2016/11/30 00:00

ActiveReports

使用ActiveReports 报表控件运行时绑定数据源的基本操作大家已经熟悉与了解了,主要是调用Document的LocateDataSource 接口,通过数据源和数据集的名称来匹配,通过args.Data 为报表返回数据。

报表中包含单个数据集时,大家都会使用了,相信大家都很困惑,那如果一个报表中有多个数据集该如何在运行时绑定。今天我们就来学习在ActiveReports 中如何为一个报表在后台绑定多个数据集。

其实现原理与绑定单个数据集相同,只是多个数据集时需要用 数据集的名称来区分数据集,从而绑定数据到对应的数据集。

 

相关链接:

数据源绑定资源帖

 

实现方法:

注: 本文以绑定DataTable数据为例

1. 在设计报表时,为报表添加数据源,并设置DataSet Provider.

image

 

2. 添加3个数据集, DataSet1,DataSet2,DataSet3并添加每个数据集的字段

image

 

image

 

3. 生成报表并调用LocateDataSource 方法,在此方法中根据数据集的名称或索引号对应到数据集上,本示例根据数据集名称来匹配。

if (args.DataSourceName == "DataSource1")
            {
                switch(args.DataSetName)
                {

                    case "DataSet1": args.Data = getDataSet1();break;
                    case "DataSet2": args.Data = getDataSet2();break;
                    case "DataSet3": args.Data = getDataSet3(); break;

                }

           

            }

 

注意:

如果一个报表中有多个数据源如DataSource1, DataSource2等,那每个DataSource 下面会有对应个数的数据集,那么在运行时绑定时,也是先按照DataSource名称来匹配。

if(args.DataSourceName==“DataSource1”)

{

if(args.DataSetName==“DataSet1”)

…..

 

}

if(args.DataSetName==”DataSource2”)

{…..

……

 

}

示例程序:

 

您在使用产品过程中有任何疑问,可以登录葡萄城开发者社区和经验丰富的技术工程师、ActiveReports开发人员交流:了解更多

了解ActiveReports产品更多特性:

/developer/activereports

下载产品体验产品功能:

/download/?pid=16

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态