<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);
}
}
}