Я использую плагин 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/) или другое решение?