2010-10-26 24 views

回答

0

您是否嘗試過在您的sp中執行COALESCE,在那裏您總是找回那些2個「動態」列?類似於COALESCE(sp.YourColumn, NULL)。然後,您將能夠在報表中創建表達式,並在返回NULL或空白時隱藏該列。可能類似於Visbility = IIF(Fields!DynamicField1.Value is Nothing, False, True)

0

調整存儲過程,以便始終返回8列。如果您不想在報告中使用它們,只需在兩個動態列中返回NULL即可。

對於每個動態列,右鍵單擊列標題並選擇屬性。在屬性窗格的可見性部分下,單擊隱藏旁邊的向下箭頭,然後選擇<Expression...>。粘貼到下面並更改字段名稱以匹配您的數據庫。

=IIf(Fields!name.Value Is Nothing, True, False) 

當您運行報表時,如果動態列中的值爲NULL,則列將被隱藏。如果它包含非空值,則將顯示列。

祝你好運,歡迎來到本網站!

1

對於每個動態列,右鍵單擊列標題並選擇屬性。在屬性窗格的可見性部分下,單擊隱藏旁邊的向下箭頭,然後選擇<Expression...>。粘貼到下面並更改字段名稱以匹配您的數據庫。

=IIf(Fields!name.Value Is Nothing, True, False) 

當您運行報表時,如果動態列中的值爲NULL,則列將被隱藏。如果它包含非空值,則將顯示列。

+0

完美的作品給我! – Pleas 2012-05-30 12:17:18

1

要記住的一件重要事情:當我們綁定動態數據集時,SSRS不具備檢測數據集中存在的字段的功能。爲此,我們需要指定數據集的所有可能的領域,爲此請按照下列步驟:

  1. 報告轉到數據選項卡,打開返回...按鈕 動態列
  2. 單擊DataSet除了數據集編輯數據集
  3. 的數據集的彈出式窗口將出現在該窗口去字段 標籤
  4. 在那裏,我們必須編寫所有可能的領域在數據集
  5. 點擊確定,預覽報告