遇到一个非常奇怪的问题:就是GridPanel与Store联合使用时,Store有一个刷新数据的方法,OnRefreshData,调用服务器端的protected void RefreshData(object sender, StoreRefreshDataEventArgs e)
方法来刷新GridPanel中的数据,
GridPanel1数据的刷新实际上调用的是Store1的OnDataRefresh方法,但如果你先在页面放上了一个GridPanel1,没有放上<BottomBar>->PagingToolBar,这时可以正常用#{GridPanel1}.reload();进行数据刷新,但你在<BottomBar>标签内配置上<ext:PagingToolBar
ID="PagingToolBar1"
DisplayMsg="当前显示 {0} - {1} 条,共 {2} 条"
runat="server"
PageSize="15"
StoreID="Store1"
EmptyMsg="无数据"
BeforePageText="当前第"
AfterPageText="页 共 {0} 页"/>后,有可能会出现怎么用#{GridPanel1}.reload();都不会执行CS程序中的RefreshData(object sender, StoreRefreshDataEventArgs e)方法的问题!
解决方法:
将
<ext:Panel ID="Panel2" runat="server" Region="Center">
<Items>
<ext:GridPanel
ID="GridPanel1"
runat="server"
Title="Array Grid"
Width="600"
Height="290"
StoreID="Store1"
AutoExpandColumn="QDescription">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column Header="数据库编号" DataIndex="QID" ColumnID="QID" Hidden="true" />
<ext:Column Header="编号" DataIndex="QNumber" />
<ext:Column Header="组名" DataIndex="QName" />
<ext:Column Header="备注" DataIndex="QDescription" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:CheckboxSelectionModel runat="server"></ext:CheckboxSelectionModel>
</SelectionModel>
<LoadMask ShowMask="true" Msg="正在处理请稍候......"/>
<BottomBar>
<ext:PagingToolBar
ID="PagingToolBar1"
DisplayMsg="当前显示 {0} - {1} 条,共 {2} 条"
runat="server"
PageSize="15"
StoreID="Store1"
EmptyMsg="无数据"
BeforePageText="当前第"
AfterPageText="页 共 {0} 页"/>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:Panel>
完整的粘贴到网页中,但为何会出现这样的问题,我没有搞清楚。