簡體   English   中英

使用Reporting Services將組保留在一個頁面上

[英]Keep Group on One Page using Reporting Services

我使用Reporting Services創建了一個報告作為C#應用程序的一部分,我找不到我以前在其他環境中看到的一些功能。 我相信MS Access和Crystal報告都有一個名為“Keep Together”的選項,這樣您就可以在一個頁面上保留特定的數據分組,而不是將信息分成兩頁。

當我的報表在C#應用程序中本地呈現並使用.net報表查看器查看時,如何使用2005 Reporting Services執行此操作。 基本上,我想在一個頁面上保留特定年份的所有記錄。 我正在使用Visual Studio 2008。

年份是列之一,一年的行數始終小於頁面。 我的報告只使用一個表,按年度分列最里面的分組,然后按客戶名稱進行另一個外部分組。

目前我可以在報告中使用兩年的數據,但是,如果數據在第一年的中途開始,那么我得到以下內容:

例:

第一頁:2004年的1/2,因為數據在04年中途開始

整個2005年

2006年上半年

第2頁:2006年下半年

我寧願做的是將2006年全部推到第二頁。

我目前正在使用表格來處理報告中的所有數據。 表級別有一個保持在一起的選項,但我需要一個在組級別。 在這種情況下按年分組。

我們非常感謝您提供的任何幫助。

  1. 在報告中插入“列表”。
  2. 在其“Tablix屬性”下,將“數據集名稱”屬性設置為數據集名稱。
  3. 在設計視圖中右鍵單擊列表,然后選擇“行組>組屬性”。
  4. 在“組屬性”窗口中,單擊“組表達式”下的“添加”按鈕,然后選擇要在頁面中分組的字段。
  5. 之后,您可以在行組內為您的詳細數據插入“表”。
  6. 呈現報表后,報表會在分頁符之間將數據保留在組內。

請在“行組”部分下的同一頁面中單擊要保留的組。 單擊所需的組后,在屬性部分中將Keep Together選項設為True ”。 而已。 它對我有用。

只是為John的回答添加一點。 對於SSRS 2005,List和Table對象確實具有KeepTogether屬性,這意味着它們將嘗試將所有內容保留在一個頁面上。 我認為最好的方法是首先遵循約翰的建議。

好的,您需要做的是首先將報告頁面大小定義為足以包含整個數據區域。

看到:

http://msdn.microsoft.com/en-us/library/bb677374.aspx

然后,您需要在Matrix中向分組添加分頁符。 見下文:

http://msdn.microsoft.com/en-us/library/ms156434.aspx

使用Rectangle元素並將所有控件復制並粘貼到其中。 在tke矩形屬性上,選中用於將內容保持在一起的框。 如果您不想要額外的線條,請不要包含邊框。

我在頁腳元素之外有一些項目,我需要一個頁腳。 我只想在最后一頁上使用它們,所以我無法使用標准頁腳部分。 通過將它們放在矩形中我避免在組的中間分頁。

問題是我需要在一頁上花兩年時間,即使特定的記錄集開始於一年中的一半,也不需要半年。 事實證明,即使在表級別存在“保持在一起”選項,組級別也沒有。 我在組級別需要此選項。 我沒有使用格式解決方案,而是更改了報表的基礎SQL。 如果只有1/2年的數據,我為年份的其他部分創建了正確日期的記錄,但是所有其他值都為零。 這意味着如果頁面格式正確,可以保存兩年,那么它將始終顯示兩個完整年份,一年將永遠不會被打破兩頁。 我也認為Mozy和John Sansom提供的答案很好,我把它們都投了出來。

謝謝您的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM