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