0

こんにちは私はextjs4にグリッドがあり、ページングが必要です。サーバーはtotalPropertyを正しく送信しますが、pagingToolbarは受信したレコードの数のみを認識し、合計数は認識しません。たとえば、レコード数を200に制限すると、ストアのpageSizeは50ですが、4ページを移動することは可能ですが、データベースに残した他の1800レコードが失われます。これは私の店です:

 var store = Ext.create('Ext.data.Store', {
    pageSize: 50,
    model: 'companiesModel',
    autoLoad: true,
    root:'results',

    listeners :
    {
        load : function(store)
        {// riporta il numero di items nello store in alto sulla grid
            Ext.getCmp('numRow').setText("Companies: "+store.getCount());
        }
    },
    proxy: {
        idProperty: 'id',
        type: 'direct',
        directFn: QueryDatabase.getResults,
        totalProperty:'total',
        api:{
            read:QueryDatabase.getResults,
            update:QueryDatabase.updateCompany
        }


    }
});

これは、グリッドのドッキングアイテムとして配置されたページングツールバーです。

dockedItems: [Ext.create('Ext.toolbar.Paging', {
        dock: 'bottom',
    pageSize:50,
        store: store,
    displayInfo: true,
        displayMsg: 'Displaying Companies {0} - {1} of {2}',
    emptyMsg: "No Companies to display"
    })]

これは、firebugによって示される私のjsonの一部です。

total

2026年

結果

[オブジェクト{noteid=

「1811」

、アドレス=

「関連付けられていません」

、city =

「関連付けられていません」

、altri elementi ...}、Object {noteid =

「4956」

、アドレス=

"バツ"

、city =

"ブエノスアイレス"

、altri elementi ...}、Object {noteid =

「4957」

、アドレス=

"バツ"

、city =

"ブエノスアイレス"

、altri elementi ...}、47 altri elementi ...]

私は成功せずにたくさんググった、私は私の間違いを見つけることができなかった、私はあなたの時間を前もって感謝して、ページングは​​それほど難しくないはずだと確信している

4

2 に答える 2

1

私は解決し、 extjs 4で説明されているようにサーバーから送信されるjsonを変更し、直接phpプロキシとグリッドページング をデータと一緒に合計しました

于 2012-09-02T15:40:14.630 に答える
0

サーバーAPIの要件に従って、、、、および/または構成がプロキシstartParamで適切に設定されていることを確認します。その場合、サーバー側のコードは後続のページのリクエストを正しく処理していません。各ページはツールバーを介して要求されるため、firebugで要求の詳細と応答を確認してください。limitParampageParam

さらに、totalPropertyandconfigsrootはリーダーに表示されます。

proxy: {
    ...
    reader: {
        type: 'json',
        root: 'results',
        totalProperty: 'total'
    }
}
于 2012-09-02T02:31:29.553 に答える