{hero}

排列顺序()

从版本: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 为基础 - 即表中的第一列索引为 0,第二列索引为 1,依此类推。

使用这种格式,DataTables 可以实现单列排序(即仅使用顶层数组的一个条目),或对第 n 列进行多列排序(数组中的多个条目)。

请注意,此方法设置了要应用于表格的排序 - 实际上并不会执行排序。为了执行排序,请使用 draw() 方法,它可以简单地作为 order() 方法的返回对象的链式方法调用 - 例如 table.order([0, 'desc']).draw();

类型

函数 order()

描述

获取表格的当前排序。如果 API 环境中有多个表格,则将返回第一个表格的排序。如果您需要 API 环境中其他表格的排序,请使用 table()

返回

包含当前应用排序信息的数组(元组),格式为 [columnIndex, direction]。有关更多信息,请参见下方和 DataTable.Order返回类型

函数 order( order [, ...] )

描述

使用一维排序数组设置要应用于表格的排序。请注意,这实际上并没有执行排序,而只是排队等候执行 - 使用 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();

其他

以下选项直接相关,在应用程序开发中也可能有用。