描述(Description)
DataTables为了提高表格某些操作,比如排序和搜索,把单元格的数据进行缓存。但如果你想修改一个单元格的内容(表格为DOM数据源)或者数组、对象的值(表格为AJAX/JS数组数据源), DataTables 是不会知道你做了修改。这个方法就是用来告诉DataTables重新从数据源读取数据。
cell().data()API
,
row().data()API
两个方法可以修改单元格数据,相比下这两个方法比invalidate
更好,写更少的代码。但是invalidate
方法最出色的是当表格的数据源是外部对象的时候,就可以用对象自己的方法来更新数据。
在DataTables 1.10.4
版本之前,这个方法会使整行失效,在1.10.4
版本之后,这个方法只会让单元格失效。
类型(Type)
function cell().invalidate( [ source ] )
描述(Description):
使选定单个单元格的数据失效
参数(Parameters):
名称(Name) | 类型(Type) | 是否可选(Optional) | |
---|---|---|---|
1 | source |
stringType
|
Yes - default:auto |
从数据源读取新的数据。 默认情况下,DataTables 会自动给行 从以前最初被读取过的数据源(比如,dom或者js数据源)中读取新数据。 但是这个参数可以用来重载以及明确地告诉DataTables应该在哪个新数据里读取。这个可能在你使用的是AJAX数据,但是又使用JS去修改单元格DOM内容的时候很有用。 这个属性可以接受如下几个参数:
|
返回(Returns):
被选中单元格的Datatables API实例结果集
例子(Example)
使一个单元格里的内容+1然后使缓存的数据失效,然后重绘
1
2
3
4
5
6
var table = $('#example').DataTable();
$('#example tbody').on( 'click', 'td', function () {
this.innerHTML = parseInt( this.innerHTML ) + 1;
table.cell( this ).invalidate().draw();
} );
相关属性(Related)
下面的选项是直接相关的,也可能是您的应用程序的开发非常有用。
API