{hero}

columns() 缓存

源自:DataTables 1.10

获取所选列的数据表缓存数据。

已弃用!

从第 2.0 版开始,此功能已被弃用。此功能尚未预定删除,但建议不使用此功能,而应使用下面讨论的替代功能。

使用 column().render() 获取特定渲染类型的数据,而不是访问 DataTables 的缓存。此方法将在 DataTables 3 中删除。

说明

DataTables 缓存搜索和排序数据,以便当需要时,这些操作可以尽可能快速地运行。有时,获取 DataTables 为这些操作缓存的数据很有用,例如在创建 select 列表以提供基于列的过滤器时。

不能保证在任何特定时刻都可以获得缓存的数据。如果 DataTables 尚未请求数据,则不会缓存数据。使用 order 选项且尚未对某列执行排序时,这一点尤为明显。使数据失效也将会删除缓存。

请注意,返回数组中数据的顺序以及从其中获取数据的行(搜索的行、可见的行等)由获取选定列所用 selector-modifier 选项的 column() 选择器控制。

请注意,此方法主要针对需要访问 DataTables 已存储的内部数据的插件开发者。

类型

函数 columns().cache( [ 类型 ] )

说明

从选择器中获取列的数据

参数
返回

DataTables API 实例,其中包含结果集中所选各列中每个单元格的数据。这是一个 2D 数组,其顶层数组条目对应于 columns() 选择器匹配的每个列。

示例

对具有 select-filter 类的每列构建一个搜索。

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

table.columns('.select-filter').every(function () {
	var that = this;

	// Create the select list and search operation
	var select = $('<select />')
		.appendTo(this.footer())
		.on('change', function () {
			that.search($(this).val()).draw();
		});

	// Get the search data for the first column and add to the select list
	this.cache('search')
		.sort()
		.unique()
		.each(function (d) {
			select.append($('<option value="' + d + '">' + d + '</option>'));
		});
});

相关

以下选项直接相关,可能对你的应用程序开发也很有用。