Monday, November 01, 2010

Repeat header rows on each page fixed

You checked "Repeat header rows on each page" in Tablix Properties dialog box and it does not work as intended.
Here you can find explanation how to overcome this issue.





List, Table and Matrix controls are templates of the same underlying Tablix Data Region control that was introduced in SSRS 2008:

  • Table template provides ability for displaying detailed or grouped data.
  • List template provides ability to display detailed data. It also enable developers to customize layout that could look differently from the table's one. It could also use nested lists.
  • Matrix template provides ability for displaying grouped data with summary information. Columns and Rows in matrix template could be considered as SSAS dimensions. But Matrix restricts them to two dimensions per Matrix only.
That's why we see Tablix properties dialog box each time when requesting properties dialog box on List, Table or Matrix controls.


In order to make row header repeatable on each page follow steps below:

  • When in designer enter Advanced Mode


  • After entering advanced mode you are now able to see and adjust static row's properties.

  • The property you need to adjust is RepeatOnNewPage. Set it and static row (table header) will be repeated on every page.

  • Now row header will appear on every page.


"Header should remain visible while scrolling" behavior is controlled by row header static row's FixedData property



You can also adjust group row header visibility settings which appears in the Row Groups section under corresponding group using KeepWithGroup property.




But wait a minute. What do those properties on the Tablix properties dialog control do?! Repeat row headers and repeat column header options on the tablix dialog only works if there is a row header area or column header area in your report. You can identify a row header area and column header areas by the double dashed lines that separate these areas from the body of the Tablix. Thus making them usable only when Matrix template is used.




PS: I read about manually updating report's underlying XML structure when you want to get the same functionality but I would not advise you to do it until you are aware of what you are doing.


Regards,
Oleh.