<ext:GridPanel runat="server" Layout="FitLayout" ID="SemesterGridPanel">
<Store>
<ext:Store ID="Store1"
runat="server">
<Model>
<ext:Model ID="Model1" runat="server" IDProperty="Id">
<Fields>
<ext:ModelField Name="Id" />
<ext:ModelField Name="Name" />
<ext:ModelField Name="Surname" />
<ext:ModelField Name="Patronymic" />
</Fields>
</ext:Model>
</Model>
<Reader >
<ext:JsonReader Root="data"/>
</Reader>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ID="Name" runat="server" Text="Имя" DataIndex="Name">
</ext:Column>
<ext:Column ID="Surname" runat="server" Text="Фамилия" DataIndex="Surname">
</ext:Column>
<ext:Column ID="Patronymic" runat="server" Text="Отчество" DataIndex="Patronymic">
</ext:Column>
</Columns>
</ColumnModel>
<Plugins>
<ext:CellEditing ID="CellEditing1" runat="server" ClicksToEdit="1" />
</Plugins>
</ext:GridPanel>
Это на разметке.
//тут вставляю нужное кол-во колонок и полей в Model
foreach (var ctpContentDto in ctpContData)
{
string insertValue = ctpContentDto.StartDate.Day.ToString() + "-" + ctpContentDto.StartDate.Month + " " + ctpContentDto.StartDate.DayOfWeek.ToString();
var column = new Ext.Net.Column() { Text = string.Format("{0}", insertValue), DataIndex = ctpContentDto.StartDate.Day + " " + ctpContentDto.StartDate.Month + " " + ctpContentDto.StartDate.Year };
var model = new ModelField() { Name = string.Format("{0}", insertValue) };
this.Store1.AddField(model);
this.Store1.Model[0].Fields.Insert(colNumber, model);
this.SemesterGridPanel.InsertColumn(colNumber, column, true);
colNumber++;
}
var resData = new List<object>();
string json;
foreach (var dataStudent in dataStudents)
{
json = string.Format("{{\"Id\":\"{3}\",\"Name\":\"{0}\", \"Surname\":\"{1}\",\"Patronymic\":\"{2}\"", dataStudent.Name, dataStudent.Surname, dataStudent.Patronymic, dataStudent.Id);
foreach (var ctpContentDto in ctpContData)
{
var str = ",\"" + ctpContentDto.StartDate.Day + " " + ctpContentDto.StartDate.Month + " " + ctpContentDto.StartDate.Year + "\":\"" + ctpContentDto.LessonTutorial + "\"";
json += str;
}
json += "}";
resData.Add(json);
}
Store1.DataSource = resData;
Store1.DataBind();