替换整行数据并刷新

时间:2015-07-06 13:21:10

标签: jquery 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()吗?

2 个答案:

答案 0 :(得分:1)

您更正了,table.row(0).data(['x','y','z','4','X']).draw()是更新行数据的正确方法。有关详细信息,请参阅Passing parameter inside $location.path in Angular

变量dataSet按值传递,因此之后修改数组元素不会产生任何影响。

答案 1 :(得分:0)

你可以使用这个:

JS

$('.content').not($this).slideUp('slow');   

您可能还想看看: dataTable fnUpdate row with new value