0

私が取り組んでいるプロジェクトの製品データ (パーツと呼ばれる) を表示するための OnDemandGrid セットアップがあります。現在、製品データベースには 2 つのエントリしかありません。

私の OnDemandGrid は、ストアと列という基本的なオプションのみでセットアップされています。仮想スクロール グリッドになることを期待しています。ストアは JsonRest ストアとしてセットアップされ、Cache が使用されました

ページを開いてグリッドを起動するとどうなるかというと、グリッドはサーバーにデータのリクエストを継続的に送信し続けます。

また、2 行しかないグリッドの場合、右側にスクロールバーがあることにも気付きました。このスクロールバーを使用してスクロールしようとすると、グリッドがちらつき、リセットされているように見えます。何度も。

仮想スクロール機能が何かおかしなことをしているのではないかと思います。どういうわけか、エントリが 2 つしかないことを認識していません。誰かがこれで私を助けることができますか? 必要に応じて詳細を提供します。

ちなみに私のコードは次のとおりです。

require(["dgrid/OnDemandGrid", "dojo/store/Memory", "dojo/store/Cache"], function(OnDemandGrid, Memory, Cache){

        var partsCache = new Memory();
        App.Store.parts = new Cache(partsMaster, partsCache);

        var grid = new OnDemandGrid({
                store: App.Store.parts,
                columns: {
                    name:'Part Name',
                    part_no:'Part Number'
                },

            }, "grid");

        grid.startup();
    })

partsMaster は、コード内で以前に定義された JsonRest ストアです (現時点ではグローバル - スピンのためにグリッドを使用)。JsonRest が問題ではないことを安全に判断するために、いくつかのテストを行いました。

現在のグリッドのスクリーンショットを次に示します (スクロールバーの存在に注意してください)。 ここに画像の説明を入力

どんな助けでも大歓迎です!

編集:添付は、クロムからの最初のリクエスト応答ヘッダーのスクリーンショットです: ここに画像の説明を入力

4

1 に答える 1

1

スクリーンショットに基づくと、応答に Content-Range ヘッダーが含まれていないように見えます。これはdojo/store/JsonRest、セット内の結果の総数を通知するために使用されます。それだけで無限クエリの問題が発生するかどうかはわかりませんが、問題が発生することは間違いありません。

Content-Range ヘッダーは、たとえば次のようになりますContent-Range: items 0-24/500(結果セット内のアイテムの総数が 500 であると仮定します)。

JsonRest が想定するサービスの動作の詳細については、 http: //dojotoolkit.org/reference-guide/1.9/quickstart/rest.html を参照してください。

これで問題が完全に解決しない場合は、応答本文が実際に結果の正しいサブセットを生成していることを確認したいと思います。

編集: 今日の dgrid の問題に関するやり取りに基づいて、クエリに基づいてサービスが実際に間違った数の結果を返していることが問題である可能性があります。#691 のこれらのコメントを参照してください。

于 2013-09-26T12:55:46.817 に答える