Monday, August 14, 2006

Add table header on each printed page

How to include a header on each page when printing a DataGrid - The Code Project - .NET

There is a simple solution for printing tables with repeating headers on each printed page. It involves CSS styling of the THEAD section of a table. Unfortunately, neither DataGrids nor GridViews render the THEAD tag. Somehow, Microsoft seems hellbent against it. So either create a control that renders THEAD, then add "display:table-header-group;" to the THEAD style, or use this Javascript function:

function AddTHEAD(tableName)
var table = document.getElementById(tableName);
if(table != null)
var head = document.createElement("THEAD"); = "table-header-group";
table.insertBefore(head, table.childNodes[0]);
Building a GridView, DataGrid or Table with THEAD, TBODY or TFOOT sections in NET 2.0