Im пытается создать Gridpanel от codebehind с изменением Columns
. Нет подсказки, почему это не работает, я не получаю ошибку, только Columns
не появится.Создание динамической Gridpanel в Codebehind
Ive получил Store
и Gridpanel
в Markup Код:
<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>>();
в Wich я загрузить то 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);
, когда я его отладки, модели получить нужные данные, но и Gridpanel
на UI не имеет Columns
... Когда я ставлю Columns
в store/columnmodel
вручную в markupcode Grid
получает правильные данные, поэтому его не о некотором .DataBind()
и моей DB-функциональности
Спасибо, это решает проблему с отсутствием отображения столбцов - теперь я не получаю данные, даже если она загружена для хранения, но это другая история, которую я думаю :) – MMMagic