huangyuanhua 发表于 2018-7-24 10:13:02

wpf下关于主报表、下钻子报表运行时绑定数据源的问题请教

由于开发中条件限制,绑定数据源的方式只能通过datatable运行时绑定数据源,同时需要满足下钻子报表等一系列操作,望提供解决方案,感谢!

KearneyKang 发表于 2018-7-24 13:48:27

本帖最后由 KearneyKang 于 2018-7-24 15:04 编辑

您好!
主表导航的时候需要传递一个参数给子表,需要在后台获取传递的值。

首先主表需要有一个导航的值P1,如下图:


然后子表要获取这个P1值,首先子表要添加一个参数P1命名需要跟上面的主表传递着的名称一样。

然后后台就可以通过如下代码获取:string a = args.Report.Parameters.CurrentValue.ToString()
该方法只能在LocateDataSourceEventArgs这个方法里使用。
private void locatedate(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
      {
         
            if (args.DataSourceName == "DataSource1")
            {

                if (args.DataSetName == "DataSet1")
                {
                  
                  args.Data = returndata();
                }
                if (args.DataSetName == "DataSet001")
                {
                  string a = args.Report.Parameters.CurrentValue.ToString();
                  args.Data = returndata1();
                }

            }
      }然后通过获取的参数你就可以进行子报表的数据的筛选和判断了。为了区分主表和子表可以给他们数据集取不同的名字。我这就是分开命名数据集,这样便于区分。

huangyuanhua 发表于 2018-7-24 14:56:30

KearneyKang 发表于 2018-7-24 13:48
我去验证下

麻烦了

huangyuanhua 发表于 2018-7-24 15:16:44

KearneyKang 发表于 2018-7-24 13:48
您好!
主表导航的时候需要传递一个参数给子表,需要在后台获取传递的值。



子表怎么添加参数P1

KearneyKang 发表于 2018-7-24 15:29:19

解决办法已经发给你了:)

KearneyKang 发表于 2018-7-24 16:50:19

直接给子报表添加一个参数就可以了,命名跟主表导航传递的参数一致就可以了
页: [1]
查看完整版本: wpf下关于主报表、下钻子报表运行时绑定数据源的问题请教