5

非同期でデータにアクセスし、ユーザーの変更を非同期でサーバーにポストバックするように構成された素晴らしいSlickGridがあります。一般的に、サーバーはユーザーの変更に基づいて行のいくつかのフィールドを変更する場合があります。そのため、行が更新された後、ビューの残りの部分を変更せずに、SlickGridがその行のみを更新するようにします。

誰かがこれを行う方法を知っていますか?

私の場合、サーバー上で変更されるフィールドは、データベーストリガーによって更新されるレコードに関連付けられたタイムスタンプです。タイムスタンプが古くなっている場合、ユーザーはデータの古いコピーを持っており、変更を送信すると、新しいコピーを上書きする可能性があります。更新をトリガーする方法が見つからないため、ユーザーはブラウザーウィンドウを更新せずに(完全な更新を強制して)自分の変更を変更することはできません。

4

2 に答える 2

6

grid.invalidateRow()とを使用してこれを実行できるはずです grid.render()。SlickGridは、ページ全体を更新せずに、影響を受けた行を再レンダリングします(現在表示されているビューポートに表示されていると仮定します)。

// Mark row 42 as changed and re-render the display
grid.invalidateRow(42);
grid.render();

例については、 SlickGridの例14を確認してください。([シミュレーションの開始]ボタンをクリックして、動作を確認してください)

于 2012-11-19T10:52:13.820 に答える
0
function updateSlickgrid() {
    dataView.setItems(tableName); 
    grid.invalidate();
}

tableNameは配列またはIDなどにすることができます。すべてのslickgridデータを配列exに保存することを好みますtableName = [];

slickgridでデータを表示する場合は、上記の機能を使い続けてください

于 2016-07-17T17:23:01.287 に答える