我试图用不同的Columns从代码背后创建一个Gridpanel。不知道为什么它不工作,我没有得到一个错误,只是Columns不会出现。
我在标记代码中有一个Store和一个Gridpanel:
<ext:Store ID="Store_X" runat="server" AutoLoad="false" OnReadData="Store_X_refresh">
<Proxy>
<ext:PageProxy />
</Proxy>
</ext:Store>
[...]
<ext:GridPanel runat="server" ID="gp_center" Region="Center" StoreID="Store_X" Title="X Tracking" >
<ColumnModel >
<Columns>
<ext:RowNumbererColumn ID="RowNumbererColumn2" runat="server" />
</Columns>
</ColumnModel>
</ext:GridPanel>在我的Store_X_refresh中,我有一个List<KeyValuePair<string, int>> fieldStringList = new List<KeyValuePair<string, int>>();加载我想要的Columns (取决于选择的选项)。在访问数据库之前,我要这样做:
Ext.Net.Model newModel = new Ext.Net.Model();
foreach (var item in fieldStringList)
{
newModel.Fields.Add(new Ext.Net.ModelField() { Name = item.Key });
gp_center.ColumnModel.Columns.Add(new Ext.Net.Column() { DataIndex = item.Key, ID = "col_" + item.Key, Text = item.Key, Width = item.Value });
}
Store_X.Model.Add(newModel);当我调试它时,模型得到了正确的数据,但是UI上的Gridpanel没有Columns.当我在标记代码中手动将Columns放入store/columnmodel中时,Grid获得正确的数据,所以这与某些.DataBind()或DB-功能无关。
发布于 2013-07-27 16:14:53
如果在ColumnModel期间更改网格的DirectEvent,则应该重新配置它。请看这个例子:Reconfigure/
https://stackoverflow.com/questions/17877906
复制相似问题