报表中根据查询条件动态加载不同的报表内容
(一)背景介绍
在进行报表设计时,有的时候需要根据用户选择的查询条件,加载不同的子报表。比如:用户选择【年报】的时候,我们加载年报的查询结果;选择【月报】的时候,我们加载月报的查询结果。
类似这样的需求,在 Wyn Enterprise 中可以将报表组件的【隐藏】属性设置为表达式来实现,在运行的时候动态决定显示哪些元素。
(二)实现步骤
接下来,我们就演示如何根据用户选择的查询条件来动态显示不同的报表内容。
最终用户可以选择查询【年报】或者【月报】,选择【年报】时加载年报的内容,选择【月报】时加载月报内容。
要实现这个需求,我们需要创建三个报表:
- 主报表,用于显示年报或者月报
- 年报报表
- 月报报表
第1步:创建RDL报表,命名为【年度报表】
创建一个RDL报表,仅添加一个文本框到报表设计界面,设置文本框的内容为【这是年度报表】,并为文本框设置一个任意的背景色,如下图所示:
第2步:创建RDL报表,命名为【月度报表】
与第一步方法一样,创建月度报表。
创建一个RDL报表,仅添加一个文本框到报表设计界面,设置文本框的内容为【这是月度报表】,如下图所示:
第3步:创建RDL报表,命名为【月度报表】
创建完两个子报表(年度报表和月度报表)之后,我们来创建一个主报表,然后在主报表中添加两个子报表组件,分别用于加载【年度报表】和【月度报表】,然后根据用户的查询条件,动态决定显示哪个子报表。
添加两个【子报表】组件,并设置【报表名称】分别为【年度报表】和【月度报表】。
第4步:添加一个参数,让用户选择需要查询的报表名称
在主报表中添加一个参数,对应的参数设置如下:
参数名称为, 报表名称
提示文本为, 查询报表:
数据类型为, 字符串型
可用数据,选择【手动添加】
第5步:设置两个报表的【隐藏】属性为【表达式】
为了根据用户选择的查询条件,动态加载【月度报表】或者【年度报表】,我们需要设置两个子报表的【隐藏】属性为表达式,这样就会在运行时动态决定显示哪个子报表。
选择【年报】子报表,为其【隐藏】属性设置以下表达式:
<font size="3">=IIF(Parameters!报表名称.Value = "年报",false,true)</font>
按照同样的方法,为【月报】子报表的【隐藏】属性设置以下表达式:
<font size="3">=IIF(Parameters!报表名称.Value = "月报",false,true)</font>
第6步:预览报表,选择【年报】或者【月报】
预览报表,选择【年报】将加载【年度报表】的内容:
选择【月报】将加载【月度报表】的内容:
重要提示:
在Wyn Enterprise报表中,这种根据条件加载/显示不同报表内容的需求,都是通过设置组件的【隐藏】属性为一个表达式来实现的。