我使用水晶报告。我将在其中使用2个子报告。只有在匹配某些条件时才应显示子报告。考虑我们将输入设为0然后只显示主报告。如果对主报表的输入为1,则显示主报表和子报表1。如果输入为2,则显示主报告和两个子报告。我怎样才能做到这一点?
提前致谢,
答案 0 :(得分:1)
我会将每个子报告放在他们自己的部分中,但这并不是绝对必要的。但是,如果您这样做,则可以转到Section Expert并单击Suppress(No Drill Down)行上的X-2按钮。在那里你可以做类似的事情
如果{?MyInt} = 1则为真
//如果您检查的条件为真,那将取消此部分。
在这种情况下,我有一个名为MyInt的参数字段,如果数字为1则会抑制整个部分。显然,您需要另外安装一个或两个来专门管理您的需求。
请记住,那个也不必是参数字段。您几乎可以使用任何其他字段作为标准。另外,正如我在开头所说,你不必压制整个部分。您可以通过转到对象属性上的Common选项卡,在单个对象(在您的情况下为子报表)上执行此操作。从那里你可以使用禁止复选框中的X-2按钮执行相同的操作。
答案 1 :(得分:1)
右键单击在子报表上,然后转到格式子报表。
在常用标签中,您会看到禁止的选项。
点击旁边的自定义公式按钮( x-2 )。
输入您需要的任何公式。只要它导致布尔值。
在您的示例中,对于子报表1,使用if {input}=0 then true else false
,对于子报表2,请使用if {input}=0 or {input}=1 then true else false
。