初始化服务端处理数据表后如何调整列?

How can I adjust the columns after initializing server-side processing datatable?

提问人:peace_love 提问时间:4/16/2020 最后编辑:peace_love 更新时间:4/16/2020 访问量:3143

问:

当我的服务器端处理数据表被加载时,标头被破坏了。为了解决这个问题,我在我的initComplete函数中添加了:table.columns.adjust().draw()

var table = $('.table').DataTable({
   "serverSide": true,
   /// more code...
   "initComplete": function(settings, json) {
       table.columns.adjust().draw();
   }
});

这有效,但它影响了分页。不再显示正确的页面。它被设置回第一页。我该如何防止这种情况?

jQuery DataTable 服务器端 调整

评论

0赞 palaѕн 4/16/2020
您使用的是哪个 DataTables 版本?
0赞 peace_love 4/16/2020
数据表 1.10.19
0赞 peace_love 4/16/2020
和 DataTables Bootstrap 3 集成

答:

2赞 palaѕн 4/16/2020 #1

对于 DataTables 版本 > 1.10.x,您可以简单地传递给 draw() api,该 api 将重新绘制表,但保持当前的分页位置,如下所示:false

table.columns.adjust().draw( false );

文档中所述:

  • paging
    • 将重新计算排序和搜索,并在新位置重新绘制行。分页不会被重置 - 即当前页面仍将显示。

评论

0赞 peace_love 4/16/2020
哦,谢谢你,太棒了!我一直在寻找解决方案,你是怎么知道的?
1赞 palaѕн 4/16/2020
在过去的几年里,我一直在使用 datatable :)我还添加了文档链接。