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