之前因为需要异步查询数据,然后对现有数据进行排序和分页等功能。第一次的时候,在页面中加载数据后再对table进行DataTable渲染处理,然后发现在重新请求数据后,如果对数据进行排序,出现的时之前的旧数据;说明重新使用datatable对table初始化,并没有起效。
因此,如果时二次绑定的话,需要对table先进行一个数据销毁再重新进行渲染。
方法:
var datatable = $("#dataTable").dataTable();
if (datatable) {
datatable.fnClearTable(); //清空数据
datatable.fnDestroy(); //销毁datatable
}
//将数据重新写入table容器
...js代码
//重新进行datatable渲染,可以根据需求配置
...js代码
例如,我的table只需要进行排序功能,则配置如下:
//initDataTableForOrder("#dataTable");
function initDataTableForOrder(tableId) {
$(tableId).DataTable({
"paging" : false,
"info" : false,
"searching" : false,
"ordering" : true,
"order": [],
"autoWidth" : true,
"scrollCollapse": true,
"scrollX": true,
"scrollXInner": "100%",
"retrieve": true
});
}