我尝试使用LinqDataSource以编程方式创建GridPanel,如示例所示。
到目前为止,我可以看到内部没有任何数据的空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);
}
}
}
在此先感谢您的帮助!我感谢任何建议,批评和帮助!
最佳答案
您不能将某些列模型分配给网格。因为它是只读属性。
您必须使用MitarbeiterGridPanel.ColumnModel.Columns.Add()而不是MitarbeiterColumnModel.Columns.Add()
关于c# - 如何以编程方式将Ext.Net.ColumnModel添加到现有的Ext.Net.GridPanel?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7803130/