1

LoadRawData を介して gridpanel にデータをロードしていますが、total プロパティが設定されません。

App.GP.getStore().loadRawData(obj);

最後に、LoadRawData メソッドをオーバーライドして強制的に設定しましたが、それでも機能しませんでした。

 Ext.define('App.patch.app.Store', {
    override: 'Ext.data.Store',

    loadRawData: function (data, append) {
        var me = this,
         result = me.proxy.reader.read(data),
         records = result.records;

        if (result.success) {
            me.totalCount = result.total;
            me.loadRecords(records, { addRecords: append });
            me.fireEvent('load', me, records, true);
        }
    }
});

ページサイズ 3 に対して 3 つのレコードをロードしていますが、totalCount を 8 に設定しています。

この行を 1 行ずつデバッグし、me.totalCount が 8 に設定されていることを確認しましたが、ページグリッドがページング ツールバーに表示メッセージを読み込むと、Offices 1 - 3 of 3 が表示されます。

8 問中 1 から 3 と言っているはずです。

これは私のグリッドパネルです

pitem.Add(Html.X().GridPanel()
                             .ID("GP")
                             .Title(_AllOffices.SelectOffices_Text)
                             .Header(true)
                             .Border(false)
                             .Frame(true)
                             .Store(st => st.Add(Html.X().Store()
                                                        .ID("Store")
                                                        .AutoLoad(true)
                                                        .RemoteSort(false)
                                                        .IsPagingStore(true)
                                                        .RemotePaging(true)                
                                                        .AutoDataBind(true)                                                           
                                                        .PageSize(3)
                                                        .Reader(x=>x.Add(Html.X().JsonReader().Root("data")))
                                                        .Model(Html.X().Model().Fields(new ModelField("Id")))                                                                                                                                                                                                        
                             ))
                             .ColumnModel(columnModel => columnModel.Columns.Add(Html.X().Column().Text("Id").DataIndex("Id").Flex(1)))
                             .SelectionModel(Html.X().CheckboxSelectionModel())               
                             .BottomBar(bar => bar.Add(Html.X().PagingToolbar()
                                                           .DisplayInfo(true)
                                                           .HideRefresh(true)
                                                           .Listeners(x=> x.BeforeChange.Fn="GetSelectedRows").Listeners(x=> x.Change.Fn="CheckRows")                                                               
                                                           .DisplayMsg(_AllOffices.DisplayingOffices_Text + " {0} - {1} of {2}"))
                             )
                             .View(view => view.Add(Html.X().GridView()))
                   );

また、loadrawdata 呼び出しの前に多くの列とフィールドを動的に追加する必要がありますが、これはすべて正常に機能します。

4

0 に答える 0