1

光滑的网格非常好!在断开模式下,用户进行一些更改。工作完成后,更改将保存在服务器上。我想知道是否有一种方便的方法来更新数据库。数据视图包含最新数据,它是否知道自加载以来发生的更改(例如删除的行),还是我们需要自己跟踪更改?

4

2 回答 2

2

您可以使用 onCellChanged 事件或自定义 editCommandHandler 将行标记为脏,然后只需进行 Ajax 调用来更新这些行。所有更复杂的同步都取决于您 - SlickGrid 没有任何帮助。

于 2011-06-06T16:06:39.683 回答
0

如果可能,我使用 onCellChanged 事件没有问题。
现在我尝试使用 onSelectedRowsChanged 事件来获取要删除的行的 rowid。

但是, grid.getSelectedRows() 只返回当前页面上的行号。因此,当网格被过滤或不显示第一页时,我在获取 rowid 时遇到了问题。

我想有一些数据集可以管理当前视图,但我找不到它。

那么根据当前视图从行号中检索 rowid 的最佳解决方案是什么?问候


更新:
我终于改变了主意,在 grid.js 中创建了一个函数,该函数返回最后一个选定行的 rowid(不是只允许删除一行的数组)

  "getSelectedRowID":     getSelectedRowID,

我这样使用:

-> 获取当前行 id

grid.onSelectedRowsChanged = function (e, args) {
    currentID = grid.getSelectedRowID();
    .....
    }

-> 如果按下删除键,则删除该行

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;
      }
   ....
于 2011-06-08T08:39:36.507 回答