您的位置:首页 > 其它

ext.net 动态创建GridPanel中Store与ColumnModel

2015-11-23 17:28 387 查看
<pre name="code" class="csharp">后台代码: 
// 绑定数据源 <span style="white-space:pre">	</span>    
DataSet ds = DictPublicManager.GetDataSet(sbSql.ToString());
if (ds.Tables.Count > 0)
{
//动态创建绑定store
DynamicCreateStore(ds);
//绑定数据源
StoreMenuDetails.DataSource = ds;
StoreMenuDetails.DataBind();
//动态创建绑定GridPanel列
DynamicCreateColumn(ds);
if (X.IsAjaxRequest)
{
this.GridPanelDetail.Reconfigure();
}
}



 
<span style="white-space:pre">	</span>/// <summary>
/// 动态创建StoreDetail
/// </summary>
/// <param name="ds"></param>
private void DynamicCreateStore(DataSet ds)
{

for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
StoreMenuDetails.AddField(new ModelField(ds.Tables[0].Columns[i].ToString().Trim()));
}
if (X.IsAjaxRequest)
{
this.StoreMenuDetails.RebuildMeta();
}
}

/// <summary>
/// 动态创建GridPanel中Column
/// </summary>
/// <param name="ds"></param>
private void DynamicCreateColumn(DataSet ds)
{
GridPanelDetail.RemoveAllColumns();
RowNumbererColumn rowNumColumn = new RowNumbererColumn();
rowNumColumn.Width = 30;
rowNumColumn.Region = Region.Center;
GridPanelDetail.ColumnModel.Columns.Add(rowNumColumn);
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
Column tempColumn = new Column();
string tempText = ds.Tables[0].Columns[i].ToString().Trim();
if (tempText != "rownumber")
{

tempColumn.Text = tempText;
tempColumn.Renderer = new Renderer("formatCheckResult");
tempColumn.Align = Alignment.Center;
tempColumn.Width = 100;
tempColumn.MenuDisabled = true;
GridPanelDetail.ColumnModel.Columns.Add(tempColumn);
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: