{hero}

rows().invalidate()

自:DataTables 1.10 起

使所选行的 DataTables 中保存的数据失效。

说明

DataTables 保存着表格中每个单元格内容的缓存信息,以提高排序和搜索等表格操作的性能。如果你修改了单元格的内容(对于 DOM 数据源表格)或数组/对象值(对于 Ajax/JS 源表格),DataTables 不知道发生了此事。此方法可用于指示 DataTables 重新从该行的(无论是来自 DOM 还是对象/数组——无论最初的数据源是什么)数据源读取信息。

当更改单元格值时,这提供了一个使用 row().data()cell().data() 的替代方法。通常,使用 data 方法会优于失效方法,因为前者使用的代码更少,然而失效方法在表格数据源是可以通过该对象的自身方法更新的外部对象时确实大放异彩。

类型

函数 rows().invalidate( [ source ] )

说明

使选定行的信息失效

参数
返回

包含结果集中选定的行引用的 DataTables API 实例

示例

使用 jQuery 修改单元格的内容,然后使 DataTables 保存的行失效

var table = new DataTable('#myTable');
var tr = $('#example tbody tr:eq(0)');

tr.find('td:eq(0)').html('Updated');
table
	.rows(tr)
	.invalidate()
	.draw();

使用数据对象实例和失效来在外部数据更改后更新表格

var pupils = [new Pupil(), new Pupil(), new Pupil(), new Pupil()];

// Create table with data set
var table = new DataTable('#myTable', {
	data: pupils
});

// Modify the data in the data set
pupils[0].name('Fred Green');
pupils[3].name('Fiona Wilder');

// Invalidate and redraw all rows
table
	.rows()
	.invalidate()
	.draw();

相关

以下选项与本方法直接相关,在你的应用程序开发中也可能很有用。