jQuery数据表无法打印所有页面

时间:2019-05-08 07:12:53

标签: javascript jquery html datatables jquery-pagination

我正在使用jQuery Datatable(jQuery version:jquery-3.1.1.min.js)。我需要打印表中的所有数据(在我的场景中,我有56行,每页10条记录,然后变成6页)。但是它仅打印数据的一部分(36条记录)。但我也有pdf函数。它工作正常。点击pdf按钮时,它会生成包含所有重新编码的pdf

<script type="text/javascript" src="<c:url value='/static/js/jquery-3.1.1.min.js' />"></script>
<script src="<c:url value='/static/js/dataTables/jquery.dataTables.min.js' />"></script>
<script src="<c:url value='/static/js/dataTables/dataTables.buttons.min.js' />"></script>   
<script src="<c:url value='/static/js/dataTables/buttons.print.min.js' />"></script>


        <script>
            $(document).ready(function(){
                $('#adTable').DataTable({
                    dom: 'Bfrtip',
                    buttons: [
                         'pdf', 'print'
                    ]
                });
            });
        </script>



    <table id="adTable" class="table table-hover">
        <thead>
            <tr>
                <th>Index</th>
                <th>Subject</th>
                <th>Category</th>
                <th>Status</th>

            </tr>
        </thead>
        <tbody>
            <c:forEach var="obj" items="${list}" varStatus="loop">
                <tr>
                    <td>${loop.index+1}</td>
                    <td>${obj.subject}</td>
                    <td>${obj.category}</td>
                    <td>${obj.status}</td>
                </tr>
            </c:forEach>
        </tbody>
    </table>

2 个答案:

答案 0 :(得分:0)

嘿,您可以将以下代码用于print all

$(document).ready(function() {
    $('#example').DataTable( {
        dom: 'Bfrtip',
        buttons: [
            {
                extend: 'print',
                text: 'Print all',
                exportOptions: {
                    modifier: {
                        selected: null
                    }
                }
            },
            {
                extend: 'print',
                text: 'Print selected'
            }
        ],
        select: true
    } );
} );

答案 1 :(得分:0)

我找到了解决方案。问题是由于我的CSS文件而发生的。 有一个css文件覆盖了我的html body标签overflow-x

我的外部css文件看起来像波纹管

body {
    padding: 0;
    margin: 0;
    height: 100%;
    min-height: 100%;
    font-family: 'Open Sans', sans-serif;
    color: #4f5f6f;
    overflow-x: hidden; }

我改为波纹管。

body {
    padding: 0;
    margin: 0;
    height: 100%;
    min-height: 100%;
    font-family: 'Open Sans', sans-serif;
    color: #4f5f6f;
    overflow-x: visible; }