我在 SSRS 报告上有一个 tablix,它从存储过程中获取数据。
当没有数据存在时,我试图向用户显示一条消息,例如“**此报告没有数据* ”。我可以通过在 **NoRowsMessage 中指定此消息轻松地做到这一点tablix 的属性。但我想与这条消息一起显示 tablix 的标题。
如果我不设置 NoRowsMessage 属性,我得到标题但没有消息,但如果我这样做,我得到消息但没有标题。
我需要一些帮助。
注意:我使用的是 SSRS 2008。
编辑:
我还可以在 tablix 下方放置一个带有相关文本消息的文本框,并仅在 tablix 不包含行时将其设置为可见。但是我无法弄清楚如何从文本框的可见性表达式中找出 tablix 是否包含任何行。
最佳答案
Tablix 对象与基础数据集相关,因此如果没有数据,则输出中没有表。
除了使用 现在行留言 属性,我能想到的唯一其他方法是确保您的查询在现在返回行时返回一个空值占位符。这样,您本质上将拥有一个数据行。
然后,您可以尝试在表格上添加一个条件表达式(即在详细信息行的 Visibility 属性上),以防止显示任何包含占位符的行。
因此,在您的查询中,您可以:
IF (@@ROWCOUNT= 0)
BEGIN
SELECT
'[IAMEMPTY]' as [Col1]
,'[IAMEMPTY]' as [Col2]
,'[IAMEMPTY]' as [Col3]
END
然后在表的详细信息行的 Visibility 属性中:
=Iif(Fields!Col1.Value = "[IAMEMPTY]",True,False)
编辑:或者,要检查 SSRS 中的 DataSet 是否为空并显示一个包含您的消息/标题的矩形(如 TooSik 的评论中所述),您可以在 Visibility 表达式中设置一个矩形:
=Iif(Rownumber("Dataset_Name")=0, False,True)
关于ssrs-2008 - SSRS 报告中没有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10319220/