如何在每个页面中使用默认标题打印html表

时间:2015-02-09 12:55:15

标签: html printing

我在html表上创建了一个打印选项。 这个表有几百行。数据来自php和AJAX。 获取此数据后,我正在创建如下所示的打印选项。

 function PrintElem(elem){
    Popup($(elem).html());
    }//
    function Popup(data) 
    {
        var mywindow = window.open('', 'my div', 'width=100%');
        mywindow.document.write('<html><head><title></title>');
        mywindow.document.write('<link rel="stylesheet" href="<?php echo base_url(); ?>/resources/css/bootstrap.css" />');
        mywindow.document.write('</head><body >');
        mywindow.document.write(data);
        mywindow.document.write('</body></html>');

        mywindow.document.close(); mywindow.focus(); //newwindow.focus();
        mywindow.print(); mywindow.close();
        return true;
    }//
<span class="trial_balance_ajax" id="print_section"> 
<!---- Ajax table data loads here----->
</span>

现在我正在尝试在打印文档的每个页面中打印表头列。 但在这种情况下,数据标题只显示在第一页,然后数据溢出在其他页面...

  

我想在每个页面中使用默认列标题

请帮助

2 个答案:

答案 0 :(得分:0)

您生成的表格是什么样的?我的测试表明,如果您创建一个带有显式<thead><tbody>的表格,则会自动为您设置标题:

<table>
    <thead>
        <tr>
            <th>Foo</th>
            <th>Bar</th>
            <th>Baz</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>!!!</td>
            <td>!!!</td>
            <td>!!!</td>
        </tr>
        <!-- Many rows... -->
        <tr>
            <td>!!!</td>
            <td>!!!</td>
            <td>!!!</td>
        </tr>
    </tbody>
</table>

换句话说,上述内容似乎按要求运作。

编辑:请求的行为似乎在Firefox中自动发生,但遗憾的是,在其他浏览器中没有妥协的情况下无法实现。有关建议,请参阅this相关问题。

答案 1 :(得分:-1)

为什么不划分行,以便创建另一个包含标题的表。