1

livesearchgridpanel に pagingtoolbar を設定しようとしています。Httpproxy 経由でデータを取得しているので、ここに私のストアがあります。

tempStore = new Ext.data.Store
    ({
        groupField     : default_groupby_s,
        model          : 'reportWorkspace',
        allowFunctions : true,
        autoSync       : false,
        pageSize       : 20,
        autoLoad       : true,
        remoteSort     : false,
        proxy          : new Ext.data.HttpProxy
        ({
            url           : url_s,
            actionMethods : 
            {
                read : 'POST'
            },
            reader        : 
            {
                type            : 'json',
                root            : 'workspace_report',
                successProperty : 'success'
            }
        })
    });
return tempStore ;
}

これが私の pagingtoolbar で、LivesearchgridPanel に含まれます。

{
    xtype: 'pagingtoolbar',
    store: tempStore ,   
    dock: 'bottom',
    pageSize:20,
    displayInfo: true
}

問題は、ページングツールバーがページを正しく表示していることですが、私のグリッドの場合、すべてのデータを同時に (すべてのページで) 表示します。autoload パラメータに開始点や制限を設定せずにそれを行うことは可能ですか?? すべてのデータをダウンロードして、ページとともに正しく表示したいだけです

何か提案してください?

4

1 に答える 1

1

いくつかの矛盾が見られます。

  1. LiveGrid はページング用に構築されたものではなく、ページングの代替として構築されました。
  2. ExtJS 4.1x は HTTP Proxy クラスを使用しなくなりましたが、代わりに type: 'ajax' プロキシ構成を使用します。
  3. データをページングする場合は、リモートで並べ替える必要があります。そうしないと意味がありません。
  4. グリッド パネルとページングツールバーが同じストア インスタンスを参照していることを確認する必要があります。グリッド パネルでの一般的な構成は次のとおりです。

.

this.dockedItems = [
        {
            xtype:'pagingtoolbar',
            store:this.store, // same store GridPanel is using
            dock:'bottom',
            displayInfo:true
        }
    ];
于 2012-10-19T00:15:41.393 に答える