找回密码
 立即注册

QQ登录

只需一步,快速开始

huangyuanhua

金牌服务用户

3

主题

6

帖子

97

积分

金牌服务用户

积分
97
最新发帖
huangyuanhua
金牌服务用户   /  发表于:2018-7-24 10:13  /   查看:2898  /  回复:5
由于开发中条件限制,绑定数据源的方式只能通过datatable运行时绑定数据源,同时需要满足下钻子报表等一系列操作,望提供解决方案,感谢!

5 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-7-24 13:48:27
沙发
本帖最后由 KearneyKang 于 2018-7-24 15:04 编辑

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

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


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

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

  6.                 if (args.DataSetName == "DataSet1")
  7.                 {
  8.                     
  9.                     args.Data = returndata();
  10.                 }
  11.                 if (args.DataSetName == "DataSet001")
  12.                 {
  13.                     string a = args.Report.Parameters[0].CurrentValue.ToString();
  14.                     args.Data = returndata1();
  15.                 }

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
huangyuanhua + 5

查看全部评分

回复 使用道具 举报
huangyuanhua
金牌服务用户   /  发表于:2018-7-24 14:56:30
板凳

麻烦了
回复 使用道具 举报
huangyuanhua
金牌服务用户   /  发表于:2018-7-24 15:16:44
地板
KearneyKang 发表于 2018-7-24 13:48
您好!
主表导航的时候需要传递一个参数给子表,需要在后台获取传递的值。

子表怎么添加参数P1
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-7-24 15:29:19
5#
解决办法已经发给你了
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-7-24 16:50:19
6#
直接给子报表添加一个参数就可以了,命名跟主表导航传递的参数一致就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部