Page tree
Skip to end of metadata
Go to start of metadata

葡萄城报表可以通过报表参数来实现数据的钻取,即在一级报表中展示汇总性质的数据,然后用户通过鼠标点击来钻取更为详细的数据。

本节介绍如何从产品类别报表钻取到产品详细信息报表。


(1)创建主报表模板

打开报表设计器,创建一个RDL报表模板。

添加数据源

在报表资源管理器的数据源节点上鼠标右键,并选择"添加数据源"。在出现的报表数据源对话框中,输入下图所示的数据源信息:


添加数据集

在添加的数据源 DataSource1上鼠标右键添加数据集,在打开的数据集对话框中依次选择常规和查询选项卡,并设置以下属性:

常规-名称:Category

查询-查询:select 类别ID, 类别名称 from 类别

添加表格

从工具箱中将表格拖拽到报表设计界面,将Category数据集中的字段拖拽到表格的相应列中,得到的设计界面如下:

设计完成点击【保存】按钮,输入报表名称,如:Category,完成主报表的创建。


2 创建子报表模板

打开报表设计器,创建一个新的RDL报表模板。

添加参数

在报表资源管理器的参数节点中添加以下参数,用于实现主报表和明细报表之间的数据传递,因为需要在子报表中显示某一特定类别的产品详细信息,所以需要传递产品类型编号。为此,设置参数属性如下:
名称:CategoryID
数据类型:Integer
隐藏:True


添加数据源和数据集

在报表资源管理器的数据源节点上鼠标右键,并选择"添加数据源"。在出现的报表数据源对话框中,输入下图所示的信息:


为数据集添加参数

为数据集添加参数是为了接收从主报表传来的产品类型编号,然后作为SQL查询语句的参数值。

在添加的数据源 DataSource1上鼠标右键添加数据集,在打开的数据集对话框中选择【参数】选项卡。

参数属性设置如下:

名称:Parameter1

值:=[@ CategoryID]


依次选择常规和查询选项卡,并设置以下属性:

常规-名称:Products

查询-查询: select 产品.产品ID, 产品.产品名称, 产品.单价, 产品.订购量, 产品.库存量, 产品.再订购量, 产品.供应商ID, 类别.类别名称 from 产品 inner join 类别 on 产品.类别ID = 类别.类别ID where 产品.类别ID = ? ORDER BY 产品.类别ID


添加表格

从工具箱中将表格拖拽到报表设计界面,将Products数据集中的字段拖拽到表格的相应列中,得到的设计界面如下:

设计完成点击【保存】按钮,输入报表名称,如:Products,完成子报表的创建。


3 建立主报表和子报表之间的参数关系

再次打开主报表,在表格中选中表格控件中绑定【类别ID】的单元格,打开属性窗口的【属性对话框…】命令链接。


在打开的对话框中选择导航选项卡,设置以下属性,以建立主报表和明细报表之间的关系。

跳转到报表:选择子报表Products。

【参数】名称:CategoryID

【参数】值:=Fields!类别ID.Value


4 运行效果图

预览主报表,效果如下:


点击主报表中的类别编号单元格,跳转到子报表,展示该类别下的所有产品信息。比如点击编号为4的类别所在的单元格,子报表显示所有日用品类别的产品。


点击右上角的返回按钮可以返回到主报表。


  • No labels