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