{hero}

row-reorder

自:RowReorder 1.0.0 起

使用者已重新排序了列。
請注意 - 這個屬性需要 DataTables 的 RowReorder 擴充功能。

描述

當使用 RowReorder 時,您可能希望知道使用者何時重新排序了表格,以便您可以更新資料儲存庫以反映這些變更。此事件提供了這種能力。

RowReorder 所變更的資料以兩種不同的形式在事件處理回呼的參數中給出 - 一個包含關於個別列的詳細資訊,另一個包含適合 Editor 多列編輯功能的格式的資料。

當列被放下時觸發此事件,但在新資料寫入資料庫之前。

從 RowReorder 1.4.1 開始,此事件可以通過從事件處理函數返回 false 來取消。如果有多个事件處理器,則在所有事件處理器按順序執行後,將使用最後一個非 undefined 的返回值作為返回值。

請注意,與所有 DataTables 發出的事件一樣,此事件是使用 dt 命名空間觸發的。因此,要監聽此事件,您還必須使用 dt 命名空間,只需將 .dt 附加到您的事件名稱,或使用 on() 方法監聽將自動附加此命名空間的事件。

類型

function function( e, details, edit )

參數

範例

將類別新增到所有變更的列

var table = new DataTable('#myTable', {
	rowReorder: true
});

table.on('row-reorder', function (e, diff, edit) {
	for (var i = 0, ien = diff.length; i < ien; i++) {
		$(diff[i].node).addClass('reordered');
	}
});

使用 Editor 的多列編輯在列重新排序時更新資料庫

table.on('row-reorder', function (e, details, changes) {
	editor
		.edit(changes.nodes, false, {
			submit: 'changed'
		})
		.multiSet(changes.dataSrc, changes.values)
		.submit();
});