报表控件 ActiveReports 中页面报表动态绑定数据源实现方法续:子报表篇

发布时间:2014/04/14 00:04 发布者:roger.wang

返回博客中心

报表控件 ActiveReports 中页面报表动态绑定数据源实现方法博客中,我们介绍了可通过LocateDataSource来对【Dataset Provider】进行动态数据源绑定。在读者反馈中,有人询问,如果我有子报表,请问该如何动态绑定数据源呢?

答案是肯定的,我们可以在已有demo基础上,扩展出子报表动态绑定数据源的办法。且原理相同,只不过没有通过PageDocument的LocateDataSource,而是通过WebViewer1.LocateDataSource 事件来绑定数据源。

AR_Page_LoadDataSource

 GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(
new System.IO.
FileInfo(Server.MapPath("PageReport1.rdlx")));
            WebViewer1.LocateDataSource += WebViewer1_LocateDataSource;
            WebViewer1.Report = report1;


void WebViewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.
LocateDataSourceEventArgs args)
        {
            if (args.DataSourceName == "DataSource2")
            {
                if (args.DataSetName == "DataSet2")
                {
                    args.Data = GetData2();
                }
            }
            if (args.DataSourceName == "DataSource1")
            {
                if (args.DataSetName == "DataSet1")
                {
                    args.Data = GetData();
                }
            }
        }

demo下载:


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网