{hero}

order()

自 DataTables 1.10 版本起

取得 / 設定表格的排序。

描述

此方法提供有關已套用至 API 環境中 DataTables 的排序資訊和控制。

欄位排序輸入參數格式由 DataTables.Order 定義,它可以接受欄位索引物件、欄位名稱物件或元組來定義要套用的排序。 這些選項的陣列也可以用來定義多欄排序。

使用的返回格式是 2D 陣列

[
    [ colIdx_1, orderingDirection_1 ],
    [ colIdx_2, orderingDirection_2 ],
    ...,
    [ colIdx_n, orderingDirection_n ]
]

其中 colIdx_x 是用於執行排序的欄位資料索引,而 orderingDirection_n 是排序方向(desc(遞減)或 asc(遞增)) - 請注意,這些必須是小寫。欄位索引從零開始 - 即表格中的第一欄的索引為 0,第二欄的索引為 1,依此類推。

使用這種格式,DataTables 可以實現單欄排序(即僅在頂層陣列中使用一個條目),或對第 n 欄進行多欄排序(陣列中有多個條目)。

請注意,此方法設定要套用至表格的排序 - 它實際上並未執行排序。為了執行排序,請使用 draw() 方法,可以簡單地將其作為 order() 方法的返回物件的鏈式方法來呼叫 - 例如 table.order([0, 'desc']).draw();

類型

function order()

描述

取得表格目前的排序。如果 API 環境中有一個以上的表格,則會返回第一個表格的排序。 如果您需要 API 環境中不同表格的排序,請使用 table()

返回

包含目前套用的排序資訊的陣列(元組)陣列,格式為 [columnIndex, direction]。 有關更多資訊,請參閱下方和 DataTable.Order返回類型

function order( order [, ...] )

描述

使用 1D 排序陣列設定要套用至表格的排序。 請注意,這實際上不會執行排序,而是將其排隊 - 使用 draw() 執行排序。

參數
返回

DataTables API 實例

function order( order )

描述

使用 2D 排序陣列設定要套用至表格的排序。 請注意,這實際上不會執行排序,而是將其排隊 - 使用 draw() 執行排序。

參數
返回

DataTables API 實例

範例

取得表格目前的排序

var table = new DataTable('#example');
var order = table.order();

alert('Column ' + order[0][0] + ' is the ordering column');

使用元組設定排序

var table = new DataTable('#example');

// Sort by column index 1 and then re-draw
table.order([1, 'asc']).draw();

使用基於索引的物件設定排序

var table = new DataTable('#example');

// Sort by column index 1 and then re-draw
table
	.order({
		idx: 1,
		dir: 'asc'
	})
	.draw();

使用多個元組實現多欄排序

var table = new DataTable('#example');

// Sort by column indexes 1 and 2 and redraw
table.order([1, 'asc'], [2, 'asc']).draw();

使用欄位名稱進行多欄排序

var table = new DataTable('#myTable', {
	columns: [
		{ name: 'first_name' },
		{ name: 'last_name' },
		{ name: 'position' },
		{ name: 'city' }
	]
});

table
	.order([
		{ name: 'first_name', dir: 'asc' },
		{ name: 'last_name', dir: 'asc' }
	])
	.draw();

相關

以下選項直接相關,也可能在您的應用程式開發中很有用。