替换整行数据并刷新
Replace entire row data and refresh
我已经生成了一个基于数据源的数据表,如下所示。我想替换代表一行的元素,然后强制该行使用新数据重新呈现。
我的问题是我只能在编辑行属性时让它工作。但是当我替换整行时,它不起作用。是因为datatables需要引用原始对象吗?
var dataSet = [
['Trident','Internet Explorer 4.0','Win 95+','4','X'],
['Trident','Internet Explorer 5.0','Win 95+','5','C'],
['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],
['Trident','Internet Explorer 6','Win 98+','6','A'],
['Trident','Internet Explorer 7','Win XP SP2+','7','A'],
['Trident','AOL browser (AOL desktop)','Win XP','6','A']
];
$('#example').dataTable( {
columns: [
{
"title": "Engine"
},
{ "title": "Browser" },
{ "title": "Platform" },
{ "title": "Version", "className": "center" },
{ "title": "Grade", "className": "center" }
],
data: dataSet
});
var table = $('#example').DataTable();
dataSet[0] = ['x','y','z','4','X'];
console.log(dataSet);
table.row(0).invalidate().draw();
http://jsfiddle.net/y3fnvzad/13/
在这种情况下,我最好使用 table.row(0).data(['x','y','z','4','X']).draw()
吗?
你可以使用这个:
JS
var table = $('#example').dataTable( {
.....
table.fnUpdate(['x','y','z','4','X'], 0);
您可能还想看看:
dataTable fnUpdate row with new value
你说得对,table.row(0).data(['x','y','z','4','X']).draw()
是更新行数据的正确方法。有关详细信息,请参阅 row().data()。
变量dataSet
是按值传递的,因此之后修改数组元素没有任何效果。
我已经生成了一个基于数据源的数据表,如下所示。我想替换代表一行的元素,然后强制该行使用新数据重新呈现。
我的问题是我只能在编辑行属性时让它工作。但是当我替换整行时,它不起作用。是因为datatables需要引用原始对象吗?
var dataSet = [
['Trident','Internet Explorer 4.0','Win 95+','4','X'],
['Trident','Internet Explorer 5.0','Win 95+','5','C'],
['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],
['Trident','Internet Explorer 6','Win 98+','6','A'],
['Trident','Internet Explorer 7','Win XP SP2+','7','A'],
['Trident','AOL browser (AOL desktop)','Win XP','6','A']
];
$('#example').dataTable( {
columns: [
{
"title": "Engine"
},
{ "title": "Browser" },
{ "title": "Platform" },
{ "title": "Version", "className": "center" },
{ "title": "Grade", "className": "center" }
],
data: dataSet
});
var table = $('#example').DataTable();
dataSet[0] = ['x','y','z','4','X'];
console.log(dataSet);
table.row(0).invalidate().draw();
http://jsfiddle.net/y3fnvzad/13/
在这种情况下,我最好使用 table.row(0).data(['x','y','z','4','X']).draw()
吗?
你可以使用这个:
JS
var table = $('#example').dataTable( {
.....
table.fnUpdate(['x','y','z','4','X'], 0);
您可能还想看看: dataTable fnUpdate row with new value
你说得对,table.row(0).data(['x','y','z','4','X']).draw()
是更新行数据的正确方法。有关详细信息,请参阅 row().data()。
变量dataSet
是按值传递的,因此之后修改数组元素没有任何效果。