列可见性
列可见性事件 - 在列可见性发生改变时触发。
描述
每当列的可见性通过 column().visible()
方法改变时,都会触发此事件,对于与列一起工作来识别列可见性状态变化并将自身状态更新为对应于变化的插件,此事件非常有用。
响应式整合:如果您为 DataTables 使用 DataTables 的 响应式扩展,它将影响列的可见性,但它不使用 DataTables 列可见性选项,因此此事件不会因响应式显示或隐藏列而触发。相反,请使用 responsive-resize
事件。
请注意,与所有 DataTables 触发的事件一样,事件对象都具有一个可用的 DataTables API 实例(第一个参数)。此外,这些事件使用 dt
名称空间触发。因此,要监听此事件,您还必须使用 dt
名称空间,方法是像下面示例中所示的那样,将 .dt
附加到您的事件名称。
类型
函数 函数 (e, settings, column, state, recalc )
- 参数
名称 类型 可选 1 e
否 jQuery 事件对象
2 settings
否 DataTables 设置对象
3 column
否 列索引已更改状态
4 state
否 列可见性状态:如果列现在隐藏,则为
false
;如果可见,则为true
5 recalc
否 自 1.10.10 起:列宽度重新计算:如果列隐藏时未执行列宽度计算(即
column().visible()
的第二个参数为false
),则为false
,否则为true
或undefined
,表示列宽度已重新计算。当修改多列的可见性时,这有助于提高性能。一旦所有列的可见性状态都被设置,就应该调用
columns.adjust()
方法。
示例
在列可见性更改时通知
let table = new DataTable('#myTable');
table.on('column-visibility.dt', function (e, settings, column, state) {
console.log(
'Column ' + column + ' has changed to ' + (state ? 'visible' : 'hidden')
);
});
相关
以下选项直接相关,也可能在您的应用程序开发中很有用。