2

私は一種の混乱を受け継いでおり、それを修正するのに短い時間しかありません。私の問題は、無限スクロールでストア/グリッドを使用しているバグを修正しようとしていることです。ユーザーがグリッドを並べ替えようとすると、「読み込み中」というメッセージが表示され、それだけです。

サーバー側にブレークポイントを配置しましたが、サーバーに正常にコールバックし、正しい列を渡していますが、「読み込み中」メッセージが表示されることはありません。

並べ替えが発生する前後に、クライアント側で監視する必要があるイベントを探しています。load、beforesync、およびストア (http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store) のほぼすべてに console.log ステートメントがあります。グリッドでリッスンする必要があるものはありますか?

これは、プリフェッチのオーバーライドと console.logs からのログです...

grid store event: ["beforeload", i, Object]
pageSize = 100
grid store event: ["beforeprefetch", i,i]
before prefetch done 
proxy.read done 
end of prefetch 
grid panel event: ["sortchange", i, i, "DESC"]
grid panel event: ["beforestatesave", i, Object]
grid store event: ["totalcountchange", 2] BufferedStore.js:22
grid store event: ["prefetch", i, Array[2], true,i]
4

1 に答える 1

1

「sortchange」イベントがグリッドで発生するはずです。新しいデータを取得するためにサービスが呼び出される前に、「beforeload」イベントが発生する必要があります。データがサービス コールから戻ってくると、「load」イベントが発生するはずです。

より詳細にデバッグするには、グリッドが作成され、たとえば 'rolocGrid' などの参照を取得した後、Observable ユーティリティを使用して、グリッドとそのストア上のすべてのイベントを監視できます。

このスニペットは、イベントごとにコンソールに書き込み、プロセスで何が起こっているかについての洞察を提供します。

 Ext.util.Observable.capture(rolocGrid.store, function () { console.log('grid store event:', arguments)}, rolocGrid);                                           
 Ext.util.Observable.capture(rolocGrid, function () { console.log('grid event:', arguments)}, rolocGrid);
于 2012-09-12T22:03:08.027 に答える