SSRS 2012 - 隐藏包含没有数据的子报表的 table 行
SSRS 2012 - Hide table row containing a subreport with no data
我有一个 table,其详细信息分组包含两行。顶行是几个包含数据详细信息的单元格,底行是所有列合并到一个单元格,该单元格包含一个子报表。该子报表有一个参数,即第一行中某个单元格的值。我需要的是,当子报表没有任何数据可显示特定值时,该行根本不显示。现在它显示为顶部详细信息行和下一个详细信息行之间的空白行。我可以让它显示一条 "No Rows" 消息,但我不想那样,我只是希望它不占用任何 space,即详细信息行后面紧跟着下一个详细信息行.我发现了几个类似的答案,如下所示:How to supress empty subreports in SSRS 2008,但正如我所说,我不需要无行消息。提前致谢
I 'think' 执行此操作的唯一方法是从主报表查询数据,如果没有返回任何行,则隐藏该行。如果子报表是一个简单的查询,那么这应该没问题,但如果它是一个很长的 运行 查询,那么这将有效地使执行时间加倍。
您没有提供有关子报表内容的任何线索,但如果是说主报表行中显示的发票的发票行,那么您或许可以修改主数据集以包含计数将出现在子报表中并使用该值控制行可见性的记录。
如果这没有意义,请编辑您的问题和post您要实现的目标的屏幕截图and/orpost您从两者中获得的数据样本主报表和子报表。
一种对我有用的简单方法如下:
Select 将包含子报表的行。将 CanGrow
和 CanShrink
属性设置为 true
。将子报表插入行中。在 SubReport Properties > Visibility > Show or hide… 下添加以下表达式:
=IIF(RowNumber(Nothing)>0,False,True)
然后再次 select 该行并使用手柄使该行尽可能小或尽可能小。当您 运行 主报表时,如果它 return 记录,子报表将出现,否则该行将是空白的,高度将是您在上面使用手柄设置的高度。
我有一个 table,其详细信息分组包含两行。顶行是几个包含数据详细信息的单元格,底行是所有列合并到一个单元格,该单元格包含一个子报表。该子报表有一个参数,即第一行中某个单元格的值。我需要的是,当子报表没有任何数据可显示特定值时,该行根本不显示。现在它显示为顶部详细信息行和下一个详细信息行之间的空白行。我可以让它显示一条 "No Rows" 消息,但我不想那样,我只是希望它不占用任何 space,即详细信息行后面紧跟着下一个详细信息行.我发现了几个类似的答案,如下所示:How to supress empty subreports in SSRS 2008,但正如我所说,我不需要无行消息。提前致谢
I 'think' 执行此操作的唯一方法是从主报表查询数据,如果没有返回任何行,则隐藏该行。如果子报表是一个简单的查询,那么这应该没问题,但如果它是一个很长的 运行 查询,那么这将有效地使执行时间加倍。
您没有提供有关子报表内容的任何线索,但如果是说主报表行中显示的发票的发票行,那么您或许可以修改主数据集以包含计数将出现在子报表中并使用该值控制行可见性的记录。
如果这没有意义,请编辑您的问题和post您要实现的目标的屏幕截图and/orpost您从两者中获得的数据样本主报表和子报表。
一种对我有用的简单方法如下:
Select 将包含子报表的行。将 CanGrow
和 CanShrink
属性设置为 true
。将子报表插入行中。在 SubReport Properties > Visibility > Show or hide… 下添加以下表达式:
=IIF(RowNumber(Nothing)>0,False,True)
然后再次 select 该行并使用手柄使该行尽可能小或尽可能小。当您 运行 主报表时,如果它 return 记录,子报表将出现,否则该行将是空白的,高度将是您在上面使用手柄设置的高度。