您的位置:首页 > Web前端 > JavaScript

How to include a header on each page when printing a DataGrid

2006-08-13 11:53 465 查看
 http://www.codeproject.com/dotnet/HeaderOnEachPage.asp

Introduction

In many situations we might use a DataGrid for reporting purposes. If the report contains many pages we will face the problem of the header only appearing on the first page, and not printing on all pages. With a little JavaScript and CSS we can easily solve this issue.

Using the code

A DataGrid will be rendered as a table element.

If you apply the following CSS rule to
THEAD
elements:

tHead
{
display : table-header-group;
}

then everything in a
THEAD
tag will be printed on every page. However, the DataGrid will not render a
THEAD
. So the above style will not work. We can add a
THEAD
to the table(rendered by the DataGrid) with the following JavaScript code.

function AddTHEAD(tableName)
{
var table = document.getElementById(tableName);
if(table != null)
{
var head = document.createElement("THEAD");
head.style.display = "table-header-group";
head.appendChild(table.rows[0]);
table.insertBefore(head, table.childNodes[0]);
}
}

The parameter ‘tableName’ is the ID of the datagrid. Calling this function from Onload will work.

<body onload="javascript: AddTHEAD('DataGrid')">

The function create a
THEAD
tag and add the first row of the table (header) to it. If the header consists of more than one row you need to add the necessary rows to the created
THEAD
.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息