Javascript 光滑网格中的数据更新
我有一个光滑的网格,大约有100行。 它的数据在5秒钟内刷新,但每次更新时都会受到干扰,滚动被重置。 我曾尝试使用dataview和dataview.refresh(),但这次没有任何更改反映到网格 下面是我每次刷新时尝试的内容:Javascript 光滑网格中的数据更新,javascript,jquery,slickgrid,Javascript,Jquery,Slickgrid,我有一个光滑的网格,大约有100行。 它的数据在5秒钟内刷新,但每次更新时都会受到干扰,滚动被重置。 我曾尝试使用dataview和dataview.refresh(),但这次没有任何更改反映到网格 下面是我每次刷新时尝试的内容: mapMemoryTableDataView.beginUpdate(); mapMemoryTableDataView.setItems(data); mapMemoryTableDataView.endUpdate(); mapMemoryTableDataVie
mapMemoryTableDataView.beginUpdate();
mapMemoryTableDataView.setItems(data);
mapMemoryTableDataView.endUpdate();
mapMemoryTableDataView.refresh();
if(mapMemoryTableGrid == null)
mapMemoryTableGrid = new Slick.Grid("#datatableMap1", mapMemoryTableDataView, columns, options);
mapMemoryTableGrid.updateRow(1)
mapMemoryTableGrid.render()
您一定要尝试
无效方法
grid.invalidate();
根据个人经验,刷新网格只需使用网格上提供的invalidate
方法即可。这将更新所有内容并保留滚动
“刷新”是指替换数据还是更新某些行?我调用了以下命令
mapMemoryTableDataView.beginUpdate();
mapMemoryTableDataView.setItems(data);
mapMemoryTableDataView.endUpdate();
mapMemoryTableDataView.refresh();
for (var i = 0; i < olist.length; i++) {
mapMemoryTableGrid.updateRow(i)
}
mapMemoryTableDataView.beginUpdate();
mapMemoryTableDataView.setItems(数据);
mapMemoryTableDataView.endUpdate();
mapMemoryTableDataView.refresh();
对于(变量i=0;i
无效和刷新无法解决我的问题。我调用了以下代码:
mapMemoryDataView.beginUpdate();
mapMemoryDataView.setItems(pointsRows, "id");
mapMemoryDataView.endUpdate();
mapMemoryDataView.syncGridSelection(pointsGrid, false);
for (var i = 0; i < pointsRows.length; i++) {
mapMemoryTableGrid.updateRow(i);
}
mapMemoryTableGrid.invalidate();
mapMemoryTableGrid.render();
mapMemoryDataView.beginUpdate();
setItems(pointsRows,“id”);
mapMemoryDataView.endUpdate();
syncGridSelection(pointsGrid,false);
对于(var i=0;i
对我有效的是:
events[v_current_row_num].field_id = v_new_field_id;
events_grid.updateRowCount();
events_grid.render();
我使用了不同的网格和视图名称,但其概念是围绕调用updateRowCount和render函数展开的。只需使用
gridItems.invalidate();
gridItems.render();
invalidate:mean nead验证您想要的行-在这种情况下:无参数row id=所有行