{hero}

row().invalidate()

自:DataTables 1.10

使选定行的 DataTables 中保存的数据无效。

说明

DataTables 会缓存表中各个单元格内容的相关信息,以提高排序和搜索等表格操作的性能。如果你要修改某个单元格的内容(适用于 DOM 数据源表)或数组/对象值(适用于 Ajax/JS 源表),DataTables 不会知道发生了这种情况。该方法可用于告知 DataTables 重新从行的数据源中读取信息(无论该数据源来自 DOM、对象/数组还是任何原始数据源)。

使用 row().data()cell().data() 更新单元格的无效值也是另一种方法。通常,使用 data 方法会优于使用无效方法,因为前者使用的代码较少。不过,当表的某项数据源为可以使用该对象自己的方法对其进行更新的外部对象时,失效方法的优势就显现出来了,你只需通过调用无效方法通知 DataTables 该数据已更改即可。

类型

函数 row().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
	.row(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');

// Invalidate and redraw
table
	.row(0)
	.invalidate()
	.draw();

相关

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