如何在jQuery DataTables中替换数据数组

时间:2014-06-02 08:42:22

标签: jquery ajax json datatables

我有一个DataTables表,最初由JSON数组填充(用ASP.NET直接写入HTML)。现在我想用Ajax刷新这些数据,但不会添加数据。我想使用我自己的方法,而不是DataTables的内部Ajax方法。 (使用DataTables 1.10.0)。

$.getJSON("?ajax=1", null, function(json, status, xhr) {
    var table = $("#" + proTableId).DataTable();

    oSettings = table.settings();
    //table.clear();
    table.rows().remove();

    var data = table.data();
    for (var i = 0; i < json.length; i++)
    {
        data.push(json[i]);
    }
    table.draw();
});

JSON结果是正确的,但在此调用之后,DataTable始终为空。如何替换DataTables对象中的Data并最好保持排序和过滤?

1 个答案:

答案 0 :(得分:1)

要将数据添加到数据表,您必须访问数据表对象的属性行,然后调用add方法。最后,通过调用draw方法更新此表。

可以在Data Table documentation上看到。你必须这样做:

for(var i= 0; i < json.length; i++){
    table.row.add([
       json[i].firstProperty,
       json[i].secondProperty
    ]).draw();
}