行重新排序
自:RowReorder 1.0.0
在最终用户重新排序行后。
请注意 - 此属性需要 RowReorder DataTables 扩展。
描述
事件数据与 row-reorder
事件相同。与 row-reorder
事件相比,该事件将在行被放下后,数据更新后触发。
此事件仅在 rowReorder.update
选项已启用时触发(默认情况下已启用)。
事件处理程序回调的参数中以两种不同的形式提供了 RowReorder 更改的数据 - 一种包含有关单个行的详细信息,另一种以适合 Editor 多行编辑功能的格式提供数据。
请注意,与所有 DataTables 发出的事件一样,此事件使用 dt
命名空间触发。因此,要监听此事件,您还必须使用 dt
命名空间,只需将 .dt
附加到您的事件名称,或者使用 on()
方法监听该事件,该方法会自动附加此命名空间。
类型
function function( e, details, edit )
- 参数
名称 类型 可选 1 e
否 jQuery 事件对象
2 details
否 已更改行值的更改对象数组。每个对象包含以下属性
Any
newData
- 行的新数据值(由rowReorder.dataSrc
定义的数据点)node
node
-tr
元素integer
newPosition
- DOM 中的新索引Any
oldData
- 行的旧数据值integer
oldPosition
- DOM 中的旧索引
3 edit
否 此参数提供 Editor 执行多行编辑所需的信息
string
dataSrc
- 数据点 - 通常是要编辑的字段(由rowReorder.dataSrc
定义)array
nodes
- 要编辑的行object
values
- 以适合multiSet()
的格式提供的新值。DataTable.Api
triggerRow
(自 v1.1.0 起) - 用于启动重新排序的行 API 实例(即来自row()
的结果)。
示例
向所有更改的行添加一个类
var table = new DataTable('#myTable', {
rowReorder: true
});
table.on('row-reordered', function (e, diff, edit) {
for (var i = 0, ien = diff.length; i < ien; i++) {
$(diff[i].node).addClass('reordered');
}
});