找回密码
 立即注册

QQ登录

只需一步,快速开始

williamluo

高级会员

97

主题

222

帖子

1063

积分

高级会员

积分
1063

活字格认证

williamluo
高级会员   /  发表于:2017-12-12 22:18  /   查看:4108  /  回复:0
在同一个报表范围内,点击一个表格的某个单元,刷新另一个表格内的数据,这种钻取操作称为表格联动。
下面以一个示例,介绍表格联动的实现方法。
在此示例中,主表格显示产品类别,用户点击某个类别,另一个表格(子表格或从表格)显示该类别下的产品清单。
下面的步骤假设已经创建好数据源,数据库结构是两个表,分别为【类别】和【产品】,两个表都有的【类别ID】字段为外键字段。

(1)创建主数据集
创建一个查询所有产品类别的数据集DataSet1,其查询语句为:
select * from 类别
这是为了准备主表格数据。

(2)定义报表参数
定义一个报表参数p1,用于过滤产品数据的类别ID:
image.png657028808.png
设置其默认值为某个类别ID:
image.png212997130.png

(3)定义第二个数据集
定义数据集DataSet2,用于准备产品清单数据。
先定义一个数据集参数p1,绑定上面定义好的报表参数p1:
image.png632889098.png
在定义其查询语句,用数据集参数作为类别ID的查询条件,过滤产品数据:
select * from 产品
where 类别ID=@p1

image.png921568603.png

(4)设计两个表格
在设计区添加两个表格,分别绑定两个数据集:
image.png495603942.png

(5)保存报表
将报表保存为本地RDLX文件,命名为【产品清单】。

(6)设置导航
钻取操作的关键是设置【导航】属性。
选中主表格中数据明细行的【类别名称】单元格,点击属性窗格下方的【属性对话框】,切换到【导航】。
在【操作】部分,选择【跳转到报表】,在下拉列表中选择本张报表,即【产品清单】。
在参数列表框中,输入参数名“p1”,参数值为表达式: =Fields!类别ID.Value
image.png397745971.png
点击【确定】按钮。

(7)再次保存报表
(8)预览报表。

image.png740535888.png
点击某个产品类别名称时,下面的表格就会显示该类别下的产品清单。


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部