天天看點

GridControl動态列的設定

GridControl綁定資料時,列名、列寬、列是否顯示動态建立,在動态建立前,綁定的資料源格式定義為:[列名:列寬:是否顯示],通過下面的方法将這些列動态綁定到GridControl。

private void BandData(DataTable dt)

{

                Dictionary<int, string> dList = new Dictionary<int, string>();

                //重命名列、存列名

                for (int i = 0; i < dt.Columns.Count; i++)

                {

                    dList.Add(i, dt.Columns[i].ColumnName);

                    dt.Columns[i].ColumnName = dt.Columns[i].ColumnName.Split(':')[0];//符号可自定義為列名不會出現字元

                }  

//資料綁定

                this.gridControlData.DataSource = dt;

                this.gridViewData.OptionsView.ColumnAutoWidth = false;

                //動态設定不可編輯、列寬、顯示

                for (int i = 0; i < gridViewData.Columns.Count; i++)

                {

                    this.gridViewData.Columns[i].OptionsColumn.AllowEdit = false;

                    this.gridViewData.Columns[i].Width = Convert.ToInt32(dList[i].Split(':')[1]);

                    this.gridViewData.Columns[i].Visible = Convert.ToBoolean(dList[i].Split(':')[2]);

                }

}