如何在每个打印页上打印表格的末尾


how to print thead of the table on each print page?

当我打印或打印预览时,我的表包含大量动态行。我使用window.print()函数只在第一页上得到表。。但我希望每张打印页都有表格。。。帮助

<div id="printablediv" >
<div style="padding:8px;font-size: 13px;">
    <center>
        <?php
        $sumMul = 0;
        $sumBil = 0;
        ?>
        <?php $total = $total_ni = $total_aa = $total_pe = $total_bak = $total_cnt = 0; ?>
        <table cellpadding="0" cellspacing="0" border="1" style="font-size: 13px;" >
            <thead id="head">
                <tr bgcolor="#333333"   style="color:#black;font-weight: bold;">
                    <th  width="100" align="center">Donor</th>
                    <th  width="100" align="center">Loan No.</th>
                    <th  width="120" align="center">Value Date</th>
                    <th  width="90" align="center">Curr</th>
                    <th  width="150" align="center">Multilateral</th>
                    <th  width="150" align="center">Bilateral</th>
                    <th  width="150" align="center">Forex</th>
                    <th  width="150" align="center">Multilateral</th>
                    <th  width="150" align="center">Bilateral</th>
                </tr>
            </thead>
            <?php $previousValue = $list[0]->LOAN_ID; ?>
            <?php $flag = 0; ?>
            <?php foreach ($list as $key => $val): ?>
                <tr>
                    <td align="center"><?php echo $val->EX_DONOR_CODE; ?></td>
                    <td align="center"><?php echo $val->LOAN_ID; ?></td>
                    <td  align="center"><?php echo $val->VALUE_DATE; ?></td>
                    <td align="center"><?php echo $val->TRANSACTION_CURRENCY_CODE; ?></td>
                    <td align="right"><?php
                        if ($val->DONOR_TYPE == 'MULTILATERL') {
                            $sumMul += $val->COMMIT_CUR_AMT;
                            echo $val->COMMIT_CUR_AMT;
                        }
                        ?></td>
                    <td align="right"><?php
                        if ($val->DONOR_TYPE == 'BILATERAL') {
                            $sumBil += $val->COMMIT_CUR_AMT;
                            echo $val->COMMIT_CUR_AMT;
                        }
                        ?></td>
                    <td align="right"><?php //reports::report1_5Forex($val->TRANSACTION_CURRENCY_CODE ,$val->VALUE_DATE) ?></td>
                    <td align ="right"></td>
                </tr>
<?php $previousValue = $val->LOAN_ID ?>
<?php endforeach; ?>
        </table>
        <input type="button" value="Print" id="prt" onclick="javascript:printDiv('printablediv')" />
</div>

我在这里得到了javascript代码:

<script language="javascript" type="text/javascript">
function printDiv(divID) {
    var divElements = document.getElementById(divID).innerHTML;
    var oldPage = document.body.innerHTML;
    document.body.innerHTML =
            "<body>" +
            divElements + "</body>";
    $('#prt').hide();
    window.print();
    $('#prt').show();
    document.body.innerHTML = oldPage;
}

您应该使用theadtbody在每页上打印表格标题http://www.w3.org/TR/html4/struct/tables.html#edef-THEAD

表格行可以分组为表格头、表格脚和一个或使用THEAD、TFOOT和TBODY元素的更多表体部分,分别地此分区使用户代理能够支持滚动独立于桌头和桌脚的桌体当长表格被打印出来,表格的头部和脚部信息可以是在包含表数据的每个页面上重复

如果这不起作用,浏览器供应商就不能正确地实现该标准。