SSRS(rdl報表)分頁顯示表頭和對表頭的凍結處理


基礎環境

最近在公司做西門子某系統的二次開發,需要用到SQLServer Reporting Services(SSRS)。我們用的SQL版本是SQLServer 2008 R2;在設計報表時,表格用的是矩陣(Tablix)。由於集團用戶在西門子系統實施當時,已向西門子開發人員提出過這個問題,西門子當時給出的回答是:“技術原因,不能實現。”。

現在回想,一是他們沒仔細研究過這個問題,二是關於SSRS的資料實在太少的緣故吧。

技術實現

首次嘗試是通過Tablix屬性

發現即使把這些“功能”全部勾選,也不能實現想要的效果。報表數據的表頭還是不能分頁顯示,還是不能被“凍結”。

研究了下,發現通過修改報表文件的xml代碼可以實現想要的效果。

在打開xml視圖后,查找<TablixRowHierarchy>節點,

找到節點后,修改第一個TablixMember(一般第二個是group信息)

為方便大家修改,貼出代碼:

<TablixRowHierarchy>
          <TablixMembers>
            <TablixMember>
              <KeepWithGroup>After</KeepWithGroup>
              <RepeatOnNewPage>true</RepeatOnNewPage>
              <FixedData>true</FixedData>
            </TablixMember>
            <TablixMember>
              <Group Name="pom_order_id">
                <GroupExpressions>
                ...

其中<KeepWithGroup>節點和<RepeatOnNewPage>節點的使用,作用是翻頁顯示表頭;<FixedData>節點則是凍結表頭,即拉動滾動條時顯示表頭。
最后,報表實現效果

 

關於SSRS更多技術內容,請持續關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM