我正在使用 DataTables 插件来处理我的表格。我想将 JSON 对象设置为我的表的数据源,并在每次更改此对象时更新内容。
要初始化我的表,我使用以下代码:
var obj = [];
// if I make start initialization of the object - the row in a table appears.
//var obj = [{"Name": "name1", "Id": "id1", "Value":"value1"}];
var table;
$(document).ready(function () {
table = $('#example').dataTable({
"sPaginationType": "full_numbers",
"sScrollY": "250px",
"aaSorting": [],
"aaData": obj,
"aoColumns": [
{ "mDataProp": "Name" },
{ "mDataProp": "Id" },
{ "mDataProp": "Value" }
]
});
}
);
要更新我的 JSON 对象:
function updateObject() {
var response = $.ajax({
type: "GET",
datatype: "json",
url: myURL,
success: function (result) {
obj = jQuery.parseJSON(result);
//table.fnDraw(); - tried this but it doesn't work
}
});
}
我从服务器获得的 JSON 数据:
[{"Name": "name1", "Id": "id1", "Value":"value1"},
{"Name": "name2", "Id": "id2", "Value":"value2"},...]
从服务器获取新数据后是否可以刷新表格内容?
更新:
table.fnClearTable();
table.fnAddData(obj, false);
table.fnStandingRedraw();
插入新行后,当前页面会丢失,当前滚动位置也会丢失。fnStandingRedraw方法有助于保持页面位置。但滚动跳转到第一行。有没有办法计算当前滚动位置以在更新(http://datatables.net/docs/Scroller/1.0.1/)或其他解决方案后跳转回来?