如何在dataTable()中清除并重新加载数据?

时间:2018-03-29 14:23:00

标签: javascript jquery datatables

加载时我正在加载数据表中的数据:

$(document).ready(function () {
    $('#example').DataTable({
        data: currentSelectedPolicyResults.data,
        scrollY: '50vh',
        columns: [
            { title: "TaskId", data: "TaskId" },
            { title: "Task Description", data: "Task Description" },
            { title: "Status.", data: "Status" }
        ]
    });
    setClick();
});

如何清除当前表中的数据?然后我想将更新的JSON加载到同一个表中,我该怎么做?

我可以使用以下方式清除数据:

var table = $('#example').DataTable();
table.clear().draw();

但是当我尝试加载更新的JSON时,它显示了此错误

DataTables warning: table id=example - Cannot reinitialise DataTable.

重新加载功能:table.rows.add(UpdatedJSON.data);

4 个答案:

答案 0 :(得分:0)

使用'innerHTML ='将数据加载到。然后再次运行您的脚本,它将清除它并在那里放置更新的数据。我知道这很短,但它会起作用。

答案 1 :(得分:0)

您在

中初始化数据一次
$(document).ready(function(){
$('#yourtable').DataTable();
});
在ajax调用之后

你只需要像这样使用它

$.ajax({
                url: baseURL + 'YourURL',
                type: "POST",
                data: JSON.stringify(Data),//if any
                datatype: "json",
                contentType: "application/json; charset=utf-8",
                success: function (json) {

                    $('#yourtable').DataTable().clear().draw();
                    $('#yourtable').DataTable().rows.add(json); // Add new data
                    $('#yourtable').DataTable().columns.adjust().draw(); // Redraw the DataTable

                },
                error: function () {
                    alert("An error has occured!!!");
                }
            });

答案 2 :(得分:0)

我的一位朋友帮我找到了办法,

var table = $('#example')。DataTable(); 要清除表格:

table.clear().draw();

重新加载:

table.rows.add(updatedJSON).draw();

全部谢谢

答案 3 :(得分:0)

尝试一下 $('#importListTable')。DataTable()。fnClearTable();