none
rdlc 報表動態隱藏欄位問題 RRS feed

  • 問題

  • 我是採用VS2005 + ReportViewer(9.0)的方式開發的
    有個需求是要根據AP畫面上的條件來決定報表內容的某些欄位要顯示或不顯示
    目前己經做到利用ReportParameter的方式把某些欄位給隱藏起來
    但遇到一個問題是,雖然欄位隱藏了但是版面上的空格空間依然留著
    所以整個報表的Table顯示會很奇怪

    我採用的方式是一開始在rdlc檔裡把所有欄位都先定義出來,並且拉好資料來源
    然後在那些需要由AP決定是否要顯示的欄位設定hidden
    =IIf(Parameters!Show_Lins.Value="0",true,false)

    可以隱藏但就是隱藏後的空間會留著,造成報表顯的樣子會很奇怪

    不知道是否有什麼方法可以解決呢?





    2009年2月24日 上午 01:35

解答

  • 我在VS2K5下以及搭配9.0的ReportViewer,但是沒有出現您說的情況,我提供一下我的作法:

    1. 在rdlc檔案中,設定欄位:(這邊以北風資料庫當作範例)


    2. 設定運算式(這邊我直接透過1=1來表示)
     

    3. 將原來8.0的ReportViewer控制項改為9.0:


    4. 畫面顯示:


    透過上述方法,整個欄位都可以被隱藏起來。

    不知道您那邊做法是否與這不同? 還是有什麼地方我沒注意到. :-)

    微軟技術支援中心(CSS) - http://twitter.com/msdn_taiwan
    • 已標示為解答 No.18MVP 2009年2月24日 上午 05:59
    2009年2月24日 上午 03:21
  • OK, 您的設定方式應該是錯了, 您應該要透過下列方式設定:

    要選擇整欄,然後設定屬性->運算式, 並非header跟Details分開設定.

    微軟技術支援中心(CSS) - http://twitter.com/msdn_taiwan
    • 已標示為解答 Lolota Lee 2009年2月24日 上午 05:58
    2009年2月24日 上午 05:51

所有回覆

  • 不知道您那邊是怎處理的 ?
    如果要隱藏欄位,應該是直接選擇某個欄(Column),然後透過您的判斷式去隱藏整個欄位.
    微軟技術支援中心(CSS) - http://twitter.com/msdn_taiwan
    2009年2月24日 上午 02:20
  • 您好;
    是的,我是選擇某個欄(Column),然後在它的屬性Visibility 去給予=IIf(Parameters!Show_Lins.Value="0",true,false)
    的判斷式,其中Show_Lins是我定義的全域變數,會利用AP傳進去值

    目前是可以達到隱藏效果,但就是報表欄(Column)的位置會變空白的一塊空間

    不知您是否有其它建議做法呢?  感謝
    2009年2月24日 上午 02:26
  • 我在VS2K5下以及搭配9.0的ReportViewer,但是沒有出現您說的情況,我提供一下我的作法:

    1. 在rdlc檔案中,設定欄位:(這邊以北風資料庫當作範例)


    2. 設定運算式(這邊我直接透過1=1來表示)
     

    3. 將原來8.0的ReportViewer控制項改為9.0:


    4. 畫面顯示:


    透過上述方法,整個欄位都可以被隱藏起來。

    不知道您那邊做法是否與這不同? 還是有什麼地方我沒注意到. :-)

    微軟技術支援中心(CSS) - http://twitter.com/msdn_taiwan
    • 已標示為解答 No.18MVP 2009年2月24日 上午 05:59
    2009年2月24日 上午 03:21
  • hi 
        感謝您的協助,我的設定和做法看來是跟你的一樣
    不過我有去設定rdlc檔裡面Table的Column寬和高,這會有影響嗎?

    我設定的部份是設了二個地方,一個是Table的Header的column一個是中間data的column
    但還是一樣留下空白 @@

    我設定的方式是Column 右鍵 Properties / Visibility / Initial visibility / Expression 輸入上述的語法字串
    2009年2月24日 上午 05:24
  • Hi ...
        我想我知道問題所在了
        我應該直接設定Table Column,而不是去單一個Column設定
        謝謝你囉


    2009年2月24日 上午 05:47
  • OK, 您的設定方式應該是錯了, 您應該要透過下列方式設定:

    要選擇整欄,然後設定屬性->運算式, 並非header跟Details分開設定.

    微軟技術支援中心(CSS) - http://twitter.com/msdn_taiwan
    • 已標示為解答 Lolota Lee 2009年2月24日 上午 05:58
    2009年2月24日 上午 05:51