2016-12-28 35 views
8

我建設有2列的SSRS報告(2016):SSRS繼續下一欄爲每個頁面

--------------------------------------------- 
| ID | Service Number | ID | Service Number | 
| 1 |  A  | 11 |  K   | 
| 2 |  B  | 12 |  L   | 
| 3 |  C  | 13 |  M   | 
| 4 |  D  | 14 |  N   | 
| 5 |  E  | 15 |  O   | 
| 6 |  F  | 16 |  P   | 
| 7 |  G  | 17 |  Q   | 
| 8 |  H  | 18 |  R   | 
| 9 |  I  | 19 |  S   | 
| 10 |  J  | 20 |  T   | 
--------------------------------------------- 

要求:

  • 數據應首先完全佔據了左邊的列表和然後從右邊開始。這應該是每頁。因此,例如:如果我的總記錄數爲100,並且頁面可以處理40條記錄(左側20個,右側20個),則需要在第一頁上顯示1到40條記錄。第二個40到80,依此類推。
  • 每個頁面左側和右側列應該有一個標題。

注: 我已經嘗試給出一個解決方案在這裏:這裏是SSRS - How to continue data to next column? 的問題,如果我只有10條記錄,它的權利,這不符合我的要求拆分5左和5 。

回答

1

您鏈接到應該努力解決的最後一段:

你可以通過鍛鍊,你可以有多少行適應頁面從InteractiveSize,高度適應這種方法做真正的多列屬性,並在左邊的表中顯示多個列,然後在右邊的表中顯示多個列,等等,但這可能會很脆弱,具體取決於渲染器和更改頁面佈局設置(如邊距)。上述方法簡單有效。

對於一個固定數目的,每頁40個記錄每個表,這將是:

第一個表的

詳細行,對於可見性隱藏屬性使用下面的公式:

=iif(((RowNumber(Nothing)-1)\40) Mod 2, True, False) 

在第二個表格的Detail行上,對於Visibility-Hidden屬性,使用相反的公式:

=iif(((RowNumber(Nothing)-1)\40) Mod 2, False, True) 

Thi左側顯示1-40,右側顯示41-80行。 下一頁將在左側顯示81-120,右側顯示121-160,假設一頁適合40行。

+0

感謝您的回覆R.VA.我的情況下行數不固定,你能詳細解釋我這點嗎? 您可以使用InteractiveSize-Heigt屬性和一行的高度來代替40行的固定值 –

+0

我認爲您的報告項目的所有屬性都可以通過標準ssrs集合訪問,但這似乎是不是這樣。 可能通過自定義代碼/程序集來實現,我不確定。從我的答案中刪除了那部分,因爲它看起來不準確。 –