如何在Datatable中去除分页功能。

117

我在网格中使用了 DataTables,但不需要分页。

一页中有一个订单列表,我将它们显示在 DataTable 网格中,但是在底部我不想显示分页。 通过对 jQuery 库进行一些自定义,是否有方法可以删除或隐藏数据表格中的分页。

输入图像描述

我尝试过自定义,但发现可用的方法很少。


2
你正在使用哪种方法或插件? - Naryl
8个回答

198

1
如果我只想显示前100行数据,bPaginate无法正常工作,因为它会显示所有数据,而不管我的iDisplayLength参数。你知道如何避免这种情况吗? - Alexis Dufrenoy
请纠正我,如果您只显示前100个项目并禁用分页,则用户无法显示以下结果。 如果是这样,那么您应该尝试直接更改您的数据源。 这似乎是一个不同的问题,因此您应该考虑打开一个新问题并向我们提供一些代码。 - nstCactus
1
实际上,这是为了搜索功能,我还需要显示一条消息,告诉用户需要更改她的搜索条件,因为检索到太多行。值得一提的是,我在Datatables论坛上询问过,并且解决方案是添加一个选项:sDom = lfrt(没有“p”,表示无分页)。可能会有用... - Alexis Dufrenoy

99

禁用分页

对于DataTables 1.9

使用bPaginate选项来禁用分页。

$('#example').dataTable({
    "bPaginate": false
});

对于DataTables 1.10+

使用paging选项来禁用分页。

$('#example').dataTable({
    "paging": false
});

请参考此 jsFiddle查看代码和演示。

去除分页控制而保留分页功能

适用于DataTables 1.9

使用sDom选项配置在页面上显示哪些控制元素。

$('#example').dataTable({
    "sDom": "lfrti"
});

使用 dom 选项来配置页面上出现的控制元素,适用于 DataTables 1.10+

$('#example').dataTable({
    "dom": "lfrti"
});

请查看此 jsFiddle以获取代码和演示。


4
从1.10版开始,在表格元素上指定"data-paging='false'"也可以起到相同的作用。 - Jeromy French

26

它正在工作中

尝试以下代码

$('#example').dataTable({
    "bProcessing": true,
    "sAutoWidth": false,
    "bDestroy":true,
    "sPaginationType": "bootstrap", // full_numbers
    "iDisplayStart ": 10,
    "iDisplayLength": 10,
    "bPaginate": false, //hide pagination
    "bFilter": false, //hide Search bar
    "bInfo": false, // hide showing entries
})

21
$(document).ready(function () {
            $('#Grid_Id').dataTable({
                "bPaginate": false
            });
        });

我用IT解决了我的问题。

16
$('#table_id').dataTable({    
    "bInfo": false, //Dont display info e.g. "Showing 1 to 4 of 4 entries"
    "paging": false,//Dont want paging                
    "bPaginate": false,//Dont want paging      
})

尝试这段代码


8
如果你想移除数据表格的分页但保留排序功能,可以在页面末尾添加以下代码!

<script>
$(document).ready(function() {        
    $('#table_id').DataTable({
        "paging":   false,
       "info":     false
    } );
      
  } );
</script>


5
您可以在 <table> 元素中添加 data-paging='false',这样该表格的分页功能将会被禁用。

-1

这里提供了一种替代方案,它在其他几个答案的基础上有所改进。假设 settings.aLengthMenu 不是多维的(当 DataTables 有行长度和标签时可能是多维的),并且数据在页面加载后不会更改(对于简单的 DOM 加载的 DataTables),可以插入此函数以消除分页。它隐藏了几个与分页相关的类。

也许更健壮的方法是在下面的函数中将分页设置为 false,但我没有看到 API 调用。

$('#myTable').on('init.dt', function(evt, settings) {
    if (settings && settings.aLengthMenu && settings.fnRecordsTotal && settings.fnRecordsTotal() < settings.aLengthMenu[0]) {
        // hide pagination controls, fewer records than minimum length
        $(settings.nTableWrapper).find('.dataTables_paginate, .dataTables_length, .dataTables_info').hide();
    }
}).DataTable();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接