http://expert.csdn.net/Expert/topic/1095/1095846.xml?temp=.5412256

解决方案 »

  1.   

    :)要不害了这新人了!<HTML>
    <HEAD>
    <TITLE>有表头的打印的例子</TITLE>
    <SCRIPT LANGUAGE=javascript>
    <!--
    function window_onbeforeprint() {
    var objs=document.all("fokker");
    alert(objs.length);
    for(var i=0;i<objs.length;i++)
    objs[i].style.display="";
    }function window_onafterprint() {
    var objs=document.all("fokker");
    for(var i=0;i<objs.length;i++)
    objs[i].style.display="none";
    }
    //-->
    </SCRIPT>
    </HEAD>
    <BODY LANGUAGE=javascript onbeforeprint="return window_onbeforeprint()" onafterprint="return window_onafterprint()">
    <TABLE cellSpacing=1 cellPadding=1 width="75%" border=1>
      <TR>
        <TD>表头</TD>
        <TD>表头</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR>
      <TR id="fokker" name="fokker" style="display:none;page-break-before:always">
        <TD>表头</TD>
        <TD>表头</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR>
      <TR id="fokker" name="fokker" style="display:none;page-break-before:always">
        <TD>表头</TD>
        <TD>表头</TD></TR>
      <TR>
        <TD>内容</TD>
        <TD>内容</TD></TR></TABLE>
    </BODY>
    </HTML>
      

  2.   

    上面的打印分页比较麻烦,我又找到一个更好的方法,见这里:
    http://www.ccidnet.com/school/net/2001/09/18/70_5148.html
    不过需要ie6支持。
      

  3.   

    Iamfish(呆鱼):
    -------------------------------------
    要不害了这新人了!
    -------------------------------------
    这是什么意思?你的那段javascript的功能和
    --------------------------------------------------------
    <style>
    @media screen{.onlyPrint{display:none}}
    @media print{.onlyShow{display:none} .onlyPrint{page-break-before:always}}
    </style>
    --------------------------------------------------------其实是一样的。在秋水教我这一着之前我也是用你的办法。我只是不想破坏原有的表结构才把那些行动态插入并在打印后删除,这样js代码才能轻易在原有的页面上使用。不使用onbeforeprint、onafterprint是为了不使用全局变量,避免与外部的变量名冲突。
      

  4.   

    fokker(独孤龙):
    你贴的地址上的那篇文章很好,可是一点也没谈到表头的问题,也没看出有能用于表格分页的可能性。它采用的是“<DIV>与</DIV>之间,采用 insertAdjacentHTML() 方式”,用来“自动为所有打印页面添加固定内容;自定义页面标头与尾注等元素”自然十分合适,要用在表格打印表头上只怕十分为难。