簡體   English   中英

如何使用表達式在 SSRS 中設置文本框的可見性?

[英]How do I set the visibility of a text box in SSRS using an expression?

我有一個計算列的小計字段,我想在我的報告尚未運行時隱藏它,因為在沒有數據的日子里,它在報告中顯示為NaN

我嘗試了兩種方法,但都沒有奏效,我相信它幾乎是正確的。 我只是不知道表達式有什么問題。

如果我的數據集沒有行,我嘗試隱藏。

=IIf((CountRows("ScannerStatisticsData")=0),False,True)

我也試着做一個計算

=iif((fields!Scans.Value / fields!numberOfCases.Value) = 0, False, True)

我還嘗試在計算中的一列上檢查 isnothing

=iif(IsNothing(fields!Scans.Value), False, True)

我究竟做錯了什么?

我嘗試了您提供的示例,唯一的區別是您切換了 True 和 False 值,正如@bdparrish指出的那樣。 這是一個根據數據集中存在的行數使 SSRS Texbox 可見或隱藏的工作示例。 此示例使用SSRS 2008 R2

分步過程: SSRS 2008 R2

  1. 在此示例中,報表有一個名為Items的數據集,並有一個顯示行數的文本框。 它還有另一個文本框,僅當數據集 Items 有行時才可見。

  2. 右鍵單擊應該基於表達式可見/隱藏的文本框和 select Text Box Properties... 請參閱屏幕截圖# 1

  3. 在“ Text Box Properties對話框中,單擊左側部分的“ Visibility ”。 參考截圖# 2

  4. Select Show or hide based on an epxression

  5. 單擊表達式按鈕fx

  6. 輸入表達式=IIf(CountRows("Items") = 0, True, False) 請注意,此表達式是隱藏文本框(隱藏)。

  7. 單擊確定兩次關閉對話框。

  8. 屏幕截圖# 3顯示了 SQL 服務器表dbo.Items中的數據,它是報告數據集Items的源。 該表包含3 行 屏幕截圖 # 4顯示了針對數據執行的示例報告。

  9. 屏幕截圖 # 5顯示 SQL 服務器表dbo.Items中的數據,它是報告數據集Items的源。 該表不包含任何數據 屏幕截圖 # 6顯示了針對數據執行的示例報告。

希望有幫助。

截圖#1:

1

截圖#2:

2

截圖#3:

3

截圖#4:

4

截圖#5:

5

截圖#6:

6

=IIf((CountRows("ScannerStatisticsData")=0),False,True)

應該替換為

=IIf((CountRows("ScannerStatisticsData")=0),True,False)

因為可見性表達式設置了隱藏值。

這沒有用

=IIf((CountRows("ScannerStatisticsData") = 0),False,True)

但這確實如此,我無法解釋為什么

=IIf((CountRows("ScannerStatisticsData") < 1),False,True)

猜測 SSRS 不喜歡相等的比較。

而不是這個

=IIf((CountRows("ScannerStatisticsData")=0),False,True)

當你想隱藏時只寫表達式

CountRows("ScannerStatisticsData")=0

或更改真假位置的順序如下

=IIf((CountRows("ScannerStatisticsData")=0),True,False)

因為可見性表達式設置了隱藏值。 您可以在文本區域上方找到

" Set expression for: Hidden " 

文本框的可見性取決於隱藏值

根據下面的示例,如果內部條件滿足,則文本框隱藏功能將為真,否則如果條件失敗,則文本框隱藏功能將為假

=IIf((CountRows("ScannerStatisticsData") = 0), True, False)

Twood,可見性表達式是您編寫的關於您希望“可見性”如何表現的表達式。 所以,如果你想隱藏或顯示文本框,你想這樣寫:

=IIf((CountRows("ScannerStatisticsData")=0),True,False)

這意味着,如果數據集為 0,則您要隱藏文本框。

rdl文件內容:

<Visibility><Hidden>=Parameters!casetype.Value=300</Hidden></Visibility>

因此,如果您的表達式為真,文本框將隱藏。

切換你的虛假和真實回報? 我認為如果您將它們作為 function 放在可見區域中,那么 false 會顯示它,而 true 不會顯示它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM