test2.html:<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>emu's sample of printing with title</title>
<style>
@media screen{.onlyPrint{display:none}}
@media print{.onlyShow{display:none} .onlyPrint{page-break-before:always}}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
// 这里定义每页能打印多少行
//模拟数据
function prepare()
{
var ar = new Array()
alert(show.children.length)
for (var i=parseInt(linesPerPage.value);i<(show.children.length-1); i+=parseInt(linesPerPage.value))
{
var tr = show.insertBefore(show.firstChild.cloneNode(true),show.children[i]);;
tr.className = "onlyPrint"
ar[ar.length] = tr;
}
preView();

for (var i=ar.length-1;i>-1;i--)
show.deleteRow(ar[i].rowIndex)
}
function pageSetup(){try{WB.ExecWB(8,1)}catch(e){alert("您的浏览器不支持此功能")}}
function preView(){try{WB.ExecWB(7,1)}catch(e){alert("您的浏览器不支持此功能")}}
//-->
</SCRIPT>
</head>
<body>
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0 VIEWASTEXT></OBJECT>
<center class=onlyShow>
设定每页打印<input id=linesPerPage size=4 value=10>行 &nbsp; &nbsp;
<button onclick='pageSetup()'>页面设置</button>
&nbsp;<button onClick='prepare()'>打印预览</button><BR><BR>
</center>
<table id ="table1" width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
        <tr>      <td bgcolor="#F2F2F2"  align="center" nowrap><font size="5">财务报表</font></td>
        </tr>
</table>
<table bgcolor=balck cellspacing=1 cellpadding=3 align=center>
<tbody bgcolor=white id=show>
<tr>
<td>员工号</td><td>姓名</td><td>职务</td><td>部门</td><td>扣税</td><td>上月结余</td><td>实发工资</td><td>应发工资</td><td>应扣款</td></td>
</tr>
<tr><td>0999</td><td>sdfa</td><td>副总裁</td><td>技术部</td><td>150.57</td><td>0.0</td><td>3706.61</td><td>3857.18</td><td>150.57</td></tr>
<tr><td>1000</td><td>赵志燕</td><td>总裁</td><td>技术部</td><td>0.0</td><td>0.0</td><td>2204.98</td><td>2221.62</td><td>16.64</td></tr>
<tr><td>1001</td><td>赵志平</td><td>副总裁</td><td>金工车间</td><td>122.74</td><td>0.0</td><td>3599.18</td><td>3739.52</td><td>140.33</td></tr>
<tr><td>1002</td><td>赵志勇</td><td>副总裁</td><td>生产部</td><td>324.6</td><td>0.0</td><td>5532.95</td><td>5857.56</td><td>324.6</td></tr>
<tr><td>1003</td><td>赵志华</td><td>副总裁</td><td>质量管理部</td><td>859.69</td><td>0.0</td><td>11155.8</td><td>12016.21</td><td>860.41</td></tr>
<tr><td>1004</td><td>赵志强</td><td>总经理</td><td>注塑班</td><td>726.58</td><td>0.0</td><td>9757.66</td><td>10484.84</td><td>727.18</td></tr>
<tr><td>1005</td><td>赵小燕</td><td>副总经理</td><td>计划调度室</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1006</td><td>赵小平</td><td>副总经理</td><td>采购部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1007</td><td>赵小勇</td><td>副总经理</td><td>销售部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1008</td><td>赵小华</td><td>经理助理</td><td>用户服务部</td><td>0.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1009</td><td>赵小强</td><td>经理助理</td><td>质量管理部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1010</td><td>赵燕</td><td>经理助理</td><td>海外市场部</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1011</td><td>赵平</td><td>部门经理</td><td>营销部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1012</td><td>赵勇</td><td>部门经理</td><td>开发部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1013</td><td>赵华</td><td>部门经理</td><td>公司</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1014</td><td>赵强</td><td>部门经理</td><td>总裁办公室</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1015</td><td>赵海燕</td><td>部门经理</td><td>企业发展部</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1016</td><td>赵海平</td><td>部门经理</td><td>质量管理部</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1017</td><td>赵海勇</td><td>部门经理</td><td>计划财经部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1018</td><td>赵海华</td><td>部门经理</td><td>人事行政部</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1019</td><td>赵海强</td><td>部门经理</td><td>技术科</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1020</td><td>赵健燕</td><td>部门经理</td><td>小冲压</td><td>8.98</td><td>0.0</td><td>2036.64</td><td>2045.62</td><td>8.98</td></tr>
<tr><td>1021</td><td>赵健平</td><td>部门经理</td><td>大冲压</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1022</td><td>赵健勇</td><td>部门经理</td><td>计划调度室</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1023</td><td>赵健华</td><td>部门经理</td><td>生产部</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1024</td><td>赵健强</td><td>部门经理</td><td>质量管理部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
<tr><td>1026</td><td>赵国平</td><td>部门经理</td><td>管理组</td><td>125.02</td><td>0.0</td><td>3438.49</td><td>3563.52</td><td>125.02</td></tr>
<tr><td>1027</td><td>赵国勇</td><td>部门经理</td><td>采购部</td><td>309.29</td><td>0.0</td><td>5372.26</td><td>5681.56</td><td>309.29</td></tr>
<tr><td>1028</td><td>赵国华</td><td>部门经理</td><td>业务员</td><td>859.0</td><td>0.0</td><td>11148.49</td><td>12008.21</td><td>859.71</td></tr>
<tr><td>1029</td><td>赵国强</td><td>部门经理</td><td>销售部</td><td>726.32</td><td>0.0</td><td>9754.92</td><td>10481.84</td><td>726.92</td></tr>
</tbody>
</table>
</body>
</html>

解决方案 »

  1.   

    test1.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    // 这里定义每页能打印多少行
    //模拟数据
    function prepare()
    {
    var ar = new Array()
    alert(data.children.length)
    for (var i=parseInt(linesPerPage.value);i<(data.children.length-1); i+=parseInt(linesPerPage.value))
    {
    var tr = data.insertBefore(data.firstChild.cloneNode(true),data.children[i]);;
    tr.className = "onlyPrint"
    ar[ar.length] = tr;
    }
    preView();

    for (var i=ar.length-1;i>-1;i--)
    data.deleteRow(ar[i].rowIndex)
    }
    function pageSetup(){try{WB.ExecWB(8,1)}catch(e){alert("您的浏览器不支持此功能")}}
    function preView(){try{WB.ExecWB(7,1)}catch(e){alert("您的浏览器不支持此功能")}}
    //-->
    </SCRIPT>
    <SCRIPT>
    var rowNum = 30;
    var colNum = 6;
    function drawTab (rows, cols, color, id)
    {
    sHTML = "<TABLE id='"+id+"' bgcolor='"+color+"' border=1 style='tableLayout:fixed'>";
    sHTML += "\n<THEAD id='downTblHead'>\n";
    i=0;
    for (var j=0; j < cols; j++)
    {
    sHTML += "<TH id='a0"+j+"' nowrap style='word-wrap: break-word;'>这是: Row"+i+"Col"+j+"</TH>";
    }
    sHTML += "\n</THEAD>\n";
    sHTML += "\n<TBODY>\n";
    for (var i=1; i<rows; i++)
    {
    sHTML += "\n<TR>\n";

    for (var j=0; j<cols; j++)
    {
    sHTML += "<TD id='a"+i+j+"' nowrap>这是: Row"+i+"Col"+j+"</TD>";
    }
    sHTML += "\n</TR>\n";
    } sHTML += "\n</TBODY>\n";
    sHTML += "\n</TABLE>";
    return sHTML;

    }function cloneHeader ()
    {
    var x = document.all['downTblHead'].cloneNode(true);
    for (var j = 0; j < colNum; j++)
    {
    document.all['a0'+j].id = 'head'+j;
    }
    document.all['downTblHead'].id = "downTblHead4hidden";
    document.all['upTbl'].appendChild(x);
    document.all['upTbl'].width = document.all['downTblHead4hidden'].offsetWidth;
    synchronizeHeader ()
    }function synchronizeHeader ()
    {
    var ok = true;
    var max = 0;
    while (ok && max < 20)
    {
    max++;
    ok = false;
    for (var j = 0; j < colNum; j++)
    {
    if (document.all['a0'+j].offsetWidth != document.all['head'+j].offsetWidth)
    {
    ok = true;
    document.all['a0'+j].style.width = document.all['head'+j].offsetWidth;
    }
    }
    }}function getScrollBraWidth ()
    {
    try
    {
    var elem = document.createElement("DIV");
    elem.id = "asdf";
    elem.style.width = 200;
    elem.style.height = 300;
    elem.style.overflow = "scroll";
    elem.style.position = "absolute";
    elem.style.visibility = "hidden";
    elem.style.top = "0";
    elem.style.left = "0";
    document.body.appendChild (elem);
    scrollWidth = document.all['asdf'].offsetWidth - document.all['asdf'].clientWidth;
    document.body.removeChild (elem);
    delete elem;
    }
    catch (ex)
    {
    return false;
    }
    return scrollWidth;
    }</SCRIPT><META content="MSHTML 6.00.2719.2200" name=GENERATOR></HEAD>
    <BODY text=#000000 bgColor=#ffffff onload="cloneHeader ();">
    <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0 VIEWASTEXT></OBJECT>
    <center class=onlyShow>
    设定每页打印<input id=linesPerPage size=4 value=10>行 &nbsp; &nbsp;
    <button onclick='pageSetup()' id=button1 name=button1>页面设置</button>
    &nbsp;<button onClick='prepare()' id=button2 name=button2>打印预览</button><BR><BR>
    </center>
    <table id ="table1" width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
            <tr>      <td bgcolor="#F2F2F2"  align="center" nowrap><font size="5" color=#000000>测试</font></td>
            </tr>
    </table>
    <center>
    <DIV id=headerContainer style="Z-INDEX: 2; POSITION: absolute">
    <TABLE id=upTbl style="tableLayout: fixed" bgColor=gray  border=1>
      <TBODY></TBODY></TABLE></DIV>
    <DIV id=dataContainer 
    style="Z-INDEX: 1; OVERFLOW: scroll; POSITION: relative; HEIGHT: 300px">
    <SCRIPT language=JavaScript>
    <!--
    document.write(drawTab(rowNum, colNum, "", "data"));
    document.all['dataContainer'].style.width = document.all['data'].offsetWidth + getScrollBraWidth ();
    document.all['headerContainer'].style.width = document.all['data'].offsetWidth;
    //-->
    </SCRIPT>
    </DIV>
    </center>
    </BODY></HTML>
      

  2.   

    又改了一下:test1.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <style>
    @media screen{.onlyPrint{display:none}}
    @media print{.onlyShow{display:none} .onlyPrint{page-break-before:always}}
    </style>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    // 这里定义每页能打印多少行
    //模拟数据
    function prepare()
    {
    var ar = new Array()
    alert(show.children.length)
    for (var i=parseInt(linesPerPage.value);i<(show.children.length-1); i+=parseInt(linesPerPage.value))
    {
    var tr = show.insertBefore(show.firstChild.cloneNode(true),show.children[i]);;
    tr.className = "onlyPrint"
    ar[ar.length] = tr;
    }
    preView();

    for (var i=ar.length-1;i>-1;i--)
    show.deleteRow(ar[i].rowIndex)
    }
    function pageSetup(){try{WB.ExecWB(8,1)}catch(e){alert("您的浏览器不支持此功能")}}
    function preView(){try{WB.ExecWB(7,1)}catch(e){alert("您的浏览器不支持此功能")}}
    //-->
    </SCRIPT>
    <SCRIPT>
    var rowNum = 30;
    var colNum = 6;
    function drawTab (rows, cols, color, id)
    {
    sHTML = "<TABLE id='"+id+"' bgcolor='"+color+"' border=1 style='tableLayout:fixed'>";
    sHTML += "\n<THEAD id='downTblHead'>\n";
    i=0;
    for (var j=0; j < cols; j++)
    {
    sHTML += "<TH id='a0"+j+"' nowrap style='word-wrap: break-word;'>这是: Row"+i+"Col"+j+"</TH>";
    }
    sHTML += "\n</THEAD>\n";
    sHTML += "\n<TBODY id='show'>\n";
    for (var i=1; i<rows; i++)
    {
    sHTML += "\n<TR>\n";

    for (var j=0; j<cols; j++)
    {
    sHTML += "<TD id='a"+i+j+"' nowrap>这是: Row"+i+"Col"+j+"</TD>";
    }
    sHTML += "\n</TR>\n";
    } sHTML += "\n</TBODY>\n";
    sHTML += "\n</TABLE>";
    return sHTML;

    }function cloneHeader ()
    {
    var x = document.all['downTblHead'].cloneNode(true);
    for (var j = 0; j < colNum; j++)
    {
    document.all['a0'+j].id = 'head'+j;
    }
    document.all['downTblHead'].id = "downTblHead4hidden";
    document.all['upTbl'].appendChild(x);
    document.all['upTbl'].width = document.all['downTblHead4hidden'].offsetWidth;
    synchronizeHeader ()
    }function synchronizeHeader ()
    {
    var ok = true;
    var max = 0;
    while (ok && max < 20)
    {
    max++;
    ok = false;
    for (var j = 0; j < colNum; j++)
    {
    if (document.all['a0'+j].offsetWidth != document.all['head'+j].offsetWidth)
    {
    ok = true;
    document.all['a0'+j].style.width = document.all['head'+j].offsetWidth;
    }
    }
    }}function getScrollBraWidth ()
    {
    try
    {
    var elem = document.createElement("DIV");
    elem.id = "asdf";
    elem.style.width = 200;
    elem.style.height = 300;
    elem.style.overflow = "scroll";
    elem.style.position = "absolute";
    elem.style.visibility = "hidden";
    elem.style.top = "0";
    elem.style.left = "0";
    document.body.appendChild (elem);
    scrollWidth = document.all['asdf'].offsetWidth - document.all['asdf'].clientWidth;
    document.body.removeChild (elem);
    delete elem;
    }
    catch (ex)
    {
    return false;
    }
    return scrollWidth;
    }</SCRIPT><META content="MSHTML 6.00.2719.2200" name=GENERATOR></HEAD>
    <BODY text=#000000 bgColor=#ffffff onload="cloneHeader ();">
    <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0 VIEWASTEXT></OBJECT>
    <center class=onlyShow>
    设定每页打印<input id=linesPerPage size=4 value=10>行 &nbsp; &nbsp;
    <button onclick='pageSetup()' id=button1 name=button1>页面设置</button>
    &nbsp;<button onClick='prepare()' id=button2 name=button2>打印预览</button><BR><BR>
    </center>
    <table id ="table1" width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
            <tr>      <td bgcolor="#F2F2F2"  align="center" nowrap><font size="5" color=#000000>测试</font></td>
            </tr>
    </table>
    <center>
    <DIV id=headerContainer style="Z-INDEX: 2; POSITION: absolute">
    <TABLE id=upTbl style="tableLayout: fixed" bgColor=gray  border=1>
      <TBODY></TBODY></TABLE></DIV>
    <DIV id=dataContainer 
    style="Z-INDEX: 1; OVERFLOW: scroll; POSITION: relative; HEIGHT: 300px">
    <SCRIPT language=JavaScript>
    <!--
    document.write(drawTab(rowNum, colNum, "", "data"));
    document.all['dataContainer'].style.width = document.all['data'].offsetWidth + getScrollBraWidth ();
    document.all['headerContainer'].style.width = document.all['data'].offsetWidth;
    //-->
    </SCRIPT>
    </DIV>
    </center>
    </BODY></HTML>
      

  3.   

    唉,你自己有没有试试去做呢?在改的过程中遇到了什么问题呢?建议看看 http://alfredy.myetang.com/ 。
      

  4.   

    呵呵,emu自己出来了。楼主:你在第一个文件里面把<thead>标签的id改为show,然后调用emu的那个prepare函数就可以了。那个函数会自动进行处理的。另外,遇到这样的问题你总归需要自己动手解决的,别人给你的代码你自己去看反倒比较累,而且出现了问题还是要别人改。既然是自己学习,就自己试着去改吧。关键是知道思路就可以了。
    ps:我今天确实给你发过一个回复,但是那个回复里面我搞错了文件,把test2给你发过去了。
      

  5.   

    楼主:你在第一个文件里面把<thead>标签的id改为show,然后调用emu的那个prepare函数就可以了。那个函数会自动进行处理的???
    ----〉还是不行!