使用已获取的数据手动刷新数据

时间:2016-01-27 18:51:09

标签: jquery datatables

我有一个数据表初始化为"空"有这些选项:

let options = { 
    data: [],
    columns: [],
    dataSrc: ""
}
let dataTable = $(component).DataTable(options);

现在,这个数据表应该从ajax结果更新,该结果由数据表执行 NOT

$.ajax({
    url: "service/url/path",
    type: "GET",
    success: function (data) {
         //TODO: refresh the datatable
    }
});

所有教程基本上都来自这两种类型:

  • 为数据表提供ajax请求的URL,以便数据表可以自行更新
  • 初始化时为数据表提供JS对象

我想做的是这样的事情:

dataTable.options.columns = { .. column settings .. };
dataTable.data = newData;
dataTable.refresh();

如何修改dataTable的设置/选项?

如何手动刷新数据而不重新创建整个数据表?

1 个答案:

答案 0 :(得分:0)

如果列配置已更改,则使用destroy选项重新初始化数据表的正确方法。

来自manual

  

...如果存在与选择器匹配的现有DataTable,它将被销毁并替换为新表。如果您想要更改无法通过API更改的表的属性,这将非常有用。

例如:

let options = { 
    data: newData,
    columns: [{ /* ... column settings ... */ }],
    destroy: true
}

let dataTable = $(component).DataTable(options);