我通过LoadRawData将数据加载到gridpanel中,但是没有设置总属性。
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。
我逐行调试此行,并确认me.totalCount设置为8但是当pagegrid在分页工具栏中加载显示消息时显示办公室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调用之前添加我在动态添加的很多列和字段,但这一切都正常。