order()
取得 / 設定表格的排序。
描述
此方法提供有關已套用至 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()
執行排序。- 參數
名稱 類型 可選 1 order
否 用於描述要套用排序的陣列(元組)或物件。
2 ...
是 - 預設值 與第一個參數格式相同的其他陣列/物件,允許進行多欄排序。 可以根據您的需求添加任意多或任意少的額外陣列作為額外參數。
- 返回
DataTables API 實例
function order( order )
- 描述
使用 2D 排序陣列設定要套用至表格的排序。 請注意,這實際上不會執行排序,而是將其排隊 - 使用
draw()
執行排序。- 參數
名稱 類型 可選 1 order
否 與上述方法 1D 選項格式相同的陣列,但在頂層陣列中有多個條目,允許定義多欄排序。
- 返回
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();
相關
以下選項直接相關,也可能在您的應用程式開發中很有用。