1

slickgridはかなり良いです!切断モードでは、ユーザーはいくつかの変更を行います。ジョブが完了すると、変更はサーバーに保存されます。データベースを更新する便利な方法があるかどうか知りたいのですが。データビューには最新のデータが含まれていますが、読み込み後に発生した変更(削除された行など)を認識していますか、それとも自分で変更を追跡する必要がありますか?

4

2 に答える 2

2

onCellChanged イベントまたはカスタム editCommandHandler を使用して行をダーティとしてマークし、Ajax 呼び出しを行ってそれらの行を更新することができます。より高度な同期はすべてあなた次第です。SlickGrid にはそのためのヘルパーがありません。

于 2011-06-06T16:06:39.683 に答える
0

可能な場合は onCellChanged イベントを使用しても問題ありませんでした。
今、onSelectedRowsChanged イベントを使用して、削除する行の行 ID を取得しようとしています。

ただし、 grid.getSelectedRows() は現在のページの行番号のみを返します。そのため、グリッドがフィルター処理されているか、最初のページが表示されていない場合に行 ID を取得するのに問題があります。

現在のビューを管理するデータセットがあると思いますが、見つかりません。

では、現在のビューに従って行番号から行 ID を取得するための最良の解決策は何ですか? よろしく


更新:
最後に選択された行の行 ID を返す関数を grid.js で作成することで、最終的に気が変わりました (1 行のみの削除を許可する配列ではありません)。

  "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 に答える