初始化服务器端处理数据表后如何调整列?
Posted
技术标签:
【中文标题】初始化服务器端处理数据表后如何调整列?【英文标题】:How can I adjust the columns after initializing server-side processing datatable? 【发布时间】:2020-07-29 18:53:12 【问题描述】:加载我的服务器端处理数据表时,标题已损坏。为了解决这个问题,我在我的 initComplete 函数中添加了table.columns.adjust().draw()
:
var table = $('.table').DataTable(
"serverSide": true,
/// more code...
"initComplete": function(settings, json)
table.columns.adjust().draw();
);
这可行,但它影响了分页。不再显示正确的页面。它被设置回第一页。我怎样才能防止这种情况发生?
【问题讨论】:
您使用的是哪个 DataTables 版本? 数据表 1.10.19 和 DataTables Bootstrap 3 集成 【参考方案1】:对于 DataTables 版本 > 1.10.x,您可以简单地将 false
传递给 draw()
api,这将重绘表格但保持当前分页位置,如:
table.columns.adjust().draw( false );
如docs中提到的:
paging
假
将重新计算排序和搜索,并在新位置重新绘制行。分页将不会重置 - 即仍会显示当前页面。
【讨论】:
哦,非常感谢!我一直在寻找解决方案,你怎么知道的? 过去几年我一直在使用数据表 :) 我还添加了文档链接。以上是关于初始化服务器端处理数据表后如何调整列?的主要内容,如果未能解决你的问题,请参考以下文章
DataTables 服务器端处理 - 如何添加不是来自数据库的计算列值?
JQuery DataTable 标头未与 ScrollY 和服务器端处理对齐