滑板很不错! 在断开连接模式下,用户进行一些更改。 作业完成后,更改将保存在服务器上。 我想知道是否有一种方便的方法来更新数据库。 dataview包含最新数据,它是否知道自加载以来发生的变化(例如已删除的行),还是我们需要跟踪自己的变化?
答案 0 :(得分:2)
您可以使用onCellChanged事件或自定义editCommandHandler将行标记为脏,只需进行Ajax调用即可更新这些行。所有更复杂的同步都取决于你--SlickGrid没有任何帮助。
答案 1 :(得分:0)
尽可能使用onCellChanged事件我没有问题 现在我尝试使用onSelectedRowsChanged事件来获取要删除的行的rowid。
但是,grid.getSelectedRows()仅返回当前页面上的行号。 所以当网格被过滤或没有显示第一页时,我遇到了获取rowid的问题。
我猜有一些数据集可以管理当前视图,但我找不到它。
那么根据当前视图从行号中检索rowid的最佳解决方案是什么? 问候
<强>更新强>
我终于改变了主意,在grid.js中创建了一个函数,它返回最后一个选定行的rowid(不是一个只允许删除一行的数组)
"getSelectedRowID": getSelectedRowID,
我这样使用:
- &GT;获取当前行id
grid.onSelectedRowsChanged = function (e, args) {
currentID = grid.getSelectedRowID();
.....
}
- &GT;如果按下删除键,则删除该行
grid.onKeyDown = function (e) {
// delete key
if (e.keyCode == 46) {
if (confirm('confirmez-vous la suppression de la ligne : ' + currentID)) {
dataView.deleteItem(currentID);
deletedRowIds.push(currentID);
}
return true;
}
....