问题:页面内的表格太多的时侯,打印的时候可能会分成好几页打印,但除一页外,其他页都没有表头,这样看起来不太好看,所以要求每页上都要有表头。
解决方法:对每个表格,定义其thead,并对其样式设置成:style="display:table-header-group"。如果要求有表尾,也一样,要定义其tfoot,并对style="display:table-footer-group"
如:
<table style="width: 700px; vertical-align:top;border-left:2px; border-right:2px; border-color:Black ; border-top:0px; border-bottom:0px;" border="1" cellpadding="0" cellspacing="0">
<thead style="display:table-header-group;">
<tr>
<td style="width: 350px; height: 20px;border-color:Black;" align ="center" valign="middle" >指 标 名 称</td>
<td style="width: 50px; height: 20px;border-color:Black;" align="center" valign="middle" >代 码</td>
<td style="width: 100px; height: 20px;border-color:Black;" align ="center" valign="middle" >计 量 单 位</td>
<td style="width: 201px; height: 20px;border-color:Black;" align="center" valign="middle" >数<span style="padding-left:20px;"></span>量</td>
</tr>
<tr>
<td style="width: 350px; height: 20px;border-color:Black;" align ="center" valign="middle" >甲</td>
<td style="width: 50px; height: 20px;border-color:Black;" align="center" valign="middle" >乙</td>
<td style="width: 100px; height: 20px;border-color:Black;" align ="center" valign="middle" >丙</td>
<td style="width: 201px; height: 20px;border-color:Black;" align="center" valign="middle" >1</td>
</tr>
</thead>
这样每页纸都有这两行表头
以上是table的解决方法,但那很多情况是用gridview来呈现数据的,这时候怎么办呢?不用急,办法一样有
gridview的属性是没有办法设置thead的,解决方法就是用js来手工add一个thead到gridview中,
js函数
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]);
}
调用方法:
<body οnlοad="javascript: AddTHEAD('DataGrid')">
问题解决。
}