2012-04-04 56 views
0

如果該圖像存在於報告中顯示的人員記錄的數據庫中,我想在報告中顯示圖像。但是,如果該人員記錄沒有圖像,我想在數據庫圖像的確切位置顯示嵌入圖像。當我把它們放在彼此頂部並根據表達式切換可見性時,SSRS似乎「保留」隱藏圖像的空間。例如,如果嵌入式圖像位於報表上的數據庫圖像頂部,並且嵌入式圖像設置爲隱藏SSRS,則會在可見圖像右側顯示空白區域。SSRS顯示嵌入數據庫或數據庫圖像

我試圖把圖像放在一張桌子上,沒有運氣的時候切換欄目,並使用圖像設置(AutoFit,Clip等)進行遊戲。它看起來不像我們可以使用表達式,因爲它們是不同類型的(嵌入式和數據庫)。除了將嵌入式圖像放入數據庫之外,還有什麼辦法可以做到這一點嗎?

+0

今天我沒有時間來測試這個,但是如果將每個圖像項目放入一個單獨的矩形中,並嘗試設置矩形可見性,會發生什麼?佈局報表項目時,矩形的處理方式有點不同:它們允許在頁面上佈置稍後的項目時使用不同的層次結構,因此這些矩形不依賴於矩形中的項目大小。 – 2012-04-04 22:25:40

+0

矩形不起作用,因爲SSRS不允許我們將矩形放在另一個矩形的頂部。它會自動在我們想要的底部添加矩形。 – Drew 2012-04-05 14:10:16

回答

0

把矩形對象在表格的單元格,使您可以在圖像項目的自由形式佈局。將默認嵌入式圖像添加到您的rdl中,將其稱爲defaultImage。由於從數據庫中的數據類型將是一個byte [],爲了讓您檢查數據庫字段值爲空,默認的嵌入圖像上的曝光率表達是:

=Not(IsNothing(Fields!{FieldName}.Value)) 

現在默認當數據庫中存在字段值時,圖像將會隱藏。在默認圖像上放置一個新的圖像對象,大小相同。該圖像將直接使用數據庫字段值,不需要進行抑制。當字節[]爲空時,數據庫圖像將不會顯示,並且會顯示嵌入的(默認圖像)。