幾年前,我與參與檢索病人預約記錄,將它放在一個SSRS報告了一個有趣的報告請求構成。報告的格式必須採用收費單的形式,如下所示。並且收費單的每個頁面不能包含超過10個患者記錄,但仍包含10行患者數據的網格/表格,即使從查詢中檢索到或在最終頁面上顯示的記錄少於10條也是如此。 正如您在第一張屏幕截圖中所看到的,我們位於報告的第2頁,顯示其餘5個病人記錄和5個空行。
(請注意,該報告檢索15位患者,因爲有10名患者在一個頁)。另外需要的是,以保持該報告的頂部和底部部分的靜態和具有那些和患者數據擬合進入一個頁面。 下面是我把以實現用於報告的要求的步驟:
- 我帶過來的表格對象到佈局和創建了兩個表組:一個用於報告的頂部部分和底部部分(table1_Group1)還包括從查詢中檢索的詳細數據,以及將確定要顯示的空行數的中間部分(table1_Group2)。
頂部包含其簡單地由兩個報告標題行的固定區域。請注意,最終報告將最小化到前2個組標題行(1,2 - 高於table1_Group2詳細信息行highligted),並在屏幕截圖中展開以顯示報表的表格結構。
底部顯示需要進行硬編碼用於電荷滑模臨牀程序多重table1_Group1尾行。並且,在我之間添加了table1_Group2中的10個頁腳行。 Group2中的這些頁腳行將允許報告在細節行中填充少於10條記錄的情況下,在報表中模擬所需的剩餘空行。
但是,你問...你怎麼知道的時間提前多少細節行將被檢索?如何確定每頁顯示多少空行?您如何知道每頁不超過所需的10行記錄? 這是表達式的力量來操縱報表屬性的地方。
- 創建表格佈局後,右鍵單擊表格輪廓以調出分組和排序屬性。由於要求每頁顯示不超過10條記錄,因此要將表格設置爲10,以便表格在table1_Group1的詳細信息行中分組。上限表達式如下:=上限(RowNumber(Nothing)/ 10) 此外,在組和分類屬性中的以下屬性中放置複選標記: - 包含組標題 - 包含組頁腳 - 分頁符在末尾 ...並單擊確定,如下所示。
- 現在,我們在步驟開始操縱空的行數在table1_Group2顯示。如下所示爲table1_Group2選擇第一個表格頁腳行。轉到屬性,展開Visibility屬性,並將以下表達式添加到Hidden屬性中:= IIF(CountRows(「table1_Group」)> 9,True,False 該表達式的作用是...它將隱藏此行(TableRow6) table1_Group1中引用的詳細行數大於9,這意味着當有10個明細行時......將該行從報告中隱藏起來 這是每個後續table1_Group2頁腳所需的邏輯,但是當您沿着每行下行時,調整通過在表達減去一行直至最後一行表達。
因此,例如,對於下一行(TableRow7),隱藏屬性表達式是: = IIF(CountRows(「table1_Group1「)> 8,真,假)
這正好和直到你到達最後第2組尾行,顯示爲10行,其中隱藏屬性表達式現在讀爲: = IIF(CountRows(「table1_Group1」)> 0,True,False) ...意思是,當存在行時,隱藏報告中的第10行。總體而言,表達式將自動調整Group2中可以顯示(或隱藏)的頁腳行數。
這最後的屏幕快照將闡明如何將這些表情在隱藏屬性的工作:
再次,在報告屬性表達式非常強大,足以滿足大多數報告的要求,隨着一點創意和汗水。
如果他有同樣的問題,我不得不刪除在排序選項卡中自動創建的表達式。 – 2014-06-18 13:14:23