行重新排序
自: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否 已更改行值的更改对象数组。每个对象包含以下属性
AnynewData- 行的新数据值(由rowReorder.dataSrc定义的数据点)nodenode-tr元素integernewPosition- DOM 中的新索引AnyoldData- 行的旧数据值integeroldPosition- DOM 中的旧索引
3 edit否 此参数提供 Editor 执行多行编辑所需的信息
stringdataSrc- 数据点 - 通常是要编辑的字段(由rowReorder.dataSrc定义)arraynodes- 要编辑的行objectvalues- 以适合multiSet()的格式提供的新值。DataTable.ApitriggerRow(自 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');
}
});