【发布时间】:2017-04-04 09:13:56
【问题描述】:
我正在尝试通过保留当前页面而不刷新页面来更新 slickgrid 数据。我正在使用每 3 秒执行一次的 ajax 调用来更新网格数据。我尝试了下面给定的代码,但网格没有更新。下面是我的代码
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
input1:<dynamic value>,
input2:<dynamic value>,
input3:<dynamic value>
},
success: function (data) {
var bindData = [];
for (var i = 0; i < data.length; i++) {
var item = {
id: i,
col1: data[i].col1,
col2: data[i].col2,
col3: data[i].col3,
};
bindData [i]= item;
}
dataview.beginUpdate();
dataview.setItems(bindData );
dataview.endUpdate();
grid.invalidateRows();
grid.render();
}
})
我也试过删除 grid.invalidateRows();但它不起作用。
【问题讨论】:
-
也尝试添加
grid.updateRowCount(); -
使用现有数据也会更有效率,例如。
for (var i = 0; i < data.length; i++) { data[i].id = i; } -
我将再次获取所有数据,而不管更新。所以如果没有变化, data[i].id 将为真。我可能听不懂你想表达的意思。
标签: javascript jquery slickgrid