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

来源:互联网 发布:rpg单机游戏推荐 知乎 编辑:程序博客网 时间:2024/05/22 09:08
<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);                }                           }        }


0 0
原创粉丝点击