row-reordered
自:RowReorder 1.0.0 起
在最終使用者重新排序行之後觸發。
請注意 - 此屬性需要 DataTables 的 RowReorder 擴充功能。
說明
事件資料與 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 起) - 用於啟動重新排序的行的 Row 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');
}
});