Как программно добавить Ext.Net.ColumnModel в существующую Ext.Net.GridPanel? - PullRequest
2 голосов
/ 18 октября 2011

Я пытаюсь создать GridPanel программно, используя LinqDataSource, как показано в примерах.

Пока я вижу свою пустую GridPanel без каких-либо данных внутри, потому что в моей GridPanel отсутствует ColumnModel, используемый для отображения данных.

Поскольку я не могу найти правильный способ добавить ColumnModel в GridPanel, я должен спросить вас.

Мой код, который используется для создания моей GridPanel, и все под ней.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace IntraNET_Prototype
{
    public partial class MitarbeiterUndTelefonliste : System.Web.UI.Page
    {
        public LinqDataSource MitarbeiterDataSource = new LinqDataSource();
        public Ext.Net.GridPanel MitarbeiterGridPanel = new Ext.Net.GridPanel();
        public Ext.Net.Store MitarbeiterStore = new Ext.Net.Store();
        public Ext.Net.JsonReader MitarbeiterJSONReader = new Ext.Net.JsonReader();
        public Ext.Net.ColumnModel MitarbeiterColumnModel = new Ext.Net.ColumnModel();

        public MitarbeiterUndTelefonliste()
        {
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            MitarbeiterDataSource.ID = "MitarbeiterDataSource";
            MitarbeiterDataSource.ContextTypeName = "MitarbeiterlisteEntities";
            MitarbeiterDataSource.TableName = "Mitarbeiterliste";

            MitarbeiterGridPanel.ID = "MitarbeiterGridPanel";
            MitarbeiterGridPanel.Title = "MitarbeiterListe";
            MitarbeiterGridPanel.AutoWidth = true;
            MitarbeiterGridPanel.Frame = true;
            MitarbeiterGridPanel.Height = 570;

            MitarbeiterStore.ID = "MitarbeiterStore";
            MitarbeiterStore.DataSource = MitarbeiterDataSource;

            MitarbeiterColumnModel.ID = "MitarbeiterColumnModel";

            MitarbeiterColumnModel.Columns.Add(new Ext.Net.Column() { DataIndex = "primaerschluessel", Header = "Index", Width = 50 });

            MitarbeiterJSONReader.Fields.Add(new Ext.Net.RecordField() { Name = "primaerschluessel" });

            MitarbeiterGridPanel.Store.Add(MitarbeiterStore);

            this.Form.Controls.Add(MitarbeiterGridPanel);
        }
    }
}

Заранее спасибо за любую помощь! Я ценю любые предложения, критиков и любую помощь!

1 Ответ

3 голосов
/ 19 октября 2011

Вы не можете назначить какую-либо модель столбца для сетки.Потому что это свойство только для чтения.

Вы должны использовать MitarbeiterGridPanel.ColumnModel.Columns.Add () вместо MitarbeiterColumnModel.Columns.Add ()

...