0

道場グリッドがあります。すべての行には、データを変更できるフォーミュラへのリンクがあります。ここで、(フォームで)[保存して閉じる]をクリックすると、グリッドに表示されたデータを再読み込みします。これまでのところ、データをリロードすることができましたが、常にグリッドの先頭に戻ります。ただし、たとえば、テーブルの最後にいる場合は、最後のいくつかのエントリだけをリロードします。
私のグリッドはJSONRestストアに接続されているので、基本的には現在表示されている範囲を知っている必要があります。範囲を取得するにはどうすればよいですか?

4

2 に答える 2

1

グリッドをストアでバックアップしている場合は、変更したオブジェクトをストアに「配置」するだけです。使用しているJsonRestストアは、PUTリクエストを使用して変更をサーバーに送り返し、グリッドが変更を取得して対応するアイテムを更新します。

フォームで[保存]を押すときは、フォームデータのjson表現(グリッドで使用されているものと一致する)を作成し、これをストアに配置する必要があります。

require(["dojo/dom-form", ... ], function(domForm, ...) {
    ...
    var updatedItem = domForm.toObject("yourFormId");
    yourGridStore.put(updatedItem).then(function() {
        console.log("put was successful");
    });
    ...
}
于 2012-11-07T21:46:31.170 に答える
1

私は店に置くことなく問題を解決することができました。コードは次のとおりです。

grid._lastScrollTop=grid.scrollTop;
grid._refresh();

そして、ここに私が答えを見つけたリンクがあります。答えの6番です。

于 2012-11-08T10:24:10.070 に答える