今天在做報表的時候遇到一個很影響用戶體驗的一個問題,就是報表數據多時自動分頁后表頭無法跟隨。
我使用的報表是微軟Report Viewer Control,這是微軟自己的報表解決方案,以下就叫RDLC報表。
這個報表使用上,功能簡單,很傻瓜化,繪制起來也很方便,具體功能網上可以找到很多資料。
這里我主要說下我的解決辦法,其實很簡單,我們都知道RDLC是用XML來描述一個報表相關的一切。我當時想着通過設計視圖,可以找找屬性設置下就可以了,可發現並沒有這個屬性來設置,於是就去看它的每一個節點,查MSDN,后來發現,只需要在<TablixMember>節點添加<RepeatOnNewPage>true</RepeatOnNewPage>子節點就可以,並設定值為true.
有些朋友在VS環境中無法打開XML編輯方式,這里我提示一下,你可以去工程目錄下用記事本打開擴展名為RDLC的文件,也可以直接在VS中搜索<TablixMember>,並設定查找范圍為“當前項目”,默認會在VS環境打開該報表
以下是報表部分節點
<
TablixRowHierarchy
>
< TablixMembers >
< TablixMember >
< KeepWithGroup >After </ KeepWithGroup >
<RepeatOnNewPage>true</RepeatOnNewPage>
</ TablixMember >
< TablixMember >
< Group Name ="詳細信息" />
</ TablixMember >
</ TablixMembers >
</ TablixRowHierarchy >
< TablixMembers >
< TablixMember >
< KeepWithGroup >After </ KeepWithGroup >
<RepeatOnNewPage>true</RepeatOnNewPage>
</ TablixMember >
< TablixMember >
< Group Name ="詳細信息" />
</ TablixMember >
</ TablixMembers >
</ TablixRowHierarchy >
增加下划線部分,打印出來的報表就可以帶表頭,自動分頁了。
以下是我設計的報表截圖及打印效果


