DataTables:如何在初始化后设置配置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataTables:如何在初始化后设置配置?相关的知识,希望对你有一定的参考价值。

我使用的是WordPress的插件 TablePress 的表格。它创建了 数据表 桌子,我想 启动后修改.

问题:表格是 已初始化 的插件,这意味着我不能再使用构造函数。

// Already set by the plugin:
$('#tablepress-1').dataTable(
    columnDefs: [
         targets: -1, className: 'dt-body-right'
    ]
);

我在找类似的东西(伪代码)。

var table = $('#tablepress-1').dataTable();
table.updateConfig(
    columnDefs: [
         targets: -1, className: 'dt-body-right'
    ]
)

有什么办法吗?

答案

你到底想修改什么,不是很清楚。很多选项是不能修改的,比如说要修改的是 columnDefs 需要重新初始化(这需要 destroy: true). 如果你要修改的选项是通用静态的,你可以扩展至 数据表默认:

$.extend( true, $.fn.dataTable.defaults, 
  columnDefs: [
     targets: '_all', className: 'dt-body-right'  // _all not -1
  ]
)

className 和任何其他 default 仍然可以被传递给构造函数的选项所覆盖。 如果这是问题所在,你可以 "猴子补丁 "DataTables。

const orgDT = $.fn.DataTable
$.fn.DataTable = function(config) 
   config.columns[0].className += ' table-success'
   return orgDT.call(this, config)

这样可以100%控制 "tablepress "对数据表的初始化 -- 配置被简单地拾取,并且可以在表被实例化之前被改变。

以上是关于DataTables:如何在初始化后设置配置?的主要内容,如果未能解决你的问题,请参考以下文章

如何将类添加到 jquery.datatables 列?

DataTables 也应用列格式来过滤

清除 DataTables 搜索输入后表格没有响应

datatables怎么转化string类型

jQuery DataTables 和初始数据加载

如何从 DataTables 中的选定数据中获取数据