/// <summary>
/// 初始化GridView
/// </summary>
/// <param name="gv">GridView 名稱</param>
/// <param name="captions">列标題</param>
/// <param name="fieldName">列字段</param>
/// <param name="widths">寬度 如果寬度為0 則列隐藏</param>
public void InitGrid(DevExpress.XtraGrid.Views.Grid.GridView gv,string[] captions, string[] fieldName, int[] widths) {
//列标題 和列名個數是否比對
if (captions.Length != fieldName.Length) {
MessageBox.Show("列标題和列名個數不比對");
return;
}
//清空列
gv.Columns.Clear();
//定義一列
DevExpress.XtraGrid.Columns.GridColumn gc = null;
//聲明列數組
DevExpress.XtraGrid.Columns.GridColumn[] gcs = new DevExpress.XtraGrid.Columns.GridColumn[captions.Length];
//列設定
for (int i = 0; i < captions.Length; i++) {
gc = new DevExpress.XtraGrid.Columns.GridColumn();
gc.Caption = captions[i];
gc.FieldName = fieldName[i];
gc.Name = fieldName[i];
gc.VisibleIndex = i;
//預設顯示,如果寬度=0 ,則隐藏
gc.Visible = true;
if (widths != null)
{
//如果列寬的個數與标題個數相同
if (widths.Length == captions.Length)
{
gc.Width = widths[i];
gc.Visible = (widths[i] != 0) ? true : false;
}
}
gcs.SetValue(gc, i);
}
//gv 增加列
gv.Columns.AddRange(gcs);
//列寬為空則自适應寬度
gv.OptionsView.ColumnAutoWidth = (widths == null) ? true : false;
//gv 資料清單設定
gv.OptionsFind.AllowFindPanel = false;
gv.Appearance.HeaderPanel.Options.UseTextOptions = true;
gv.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gv.OptionsView.ShowGroupPanel = false;
//列寬為空
if (widths == null) {
gv.BestFitColumns();
}
}
調用(舉例):
//資料清單 加載
InitGrid(gridView1,
new string[]{"列标題1","列标題2","列标題3","列标題4"},
new string[]{"字段1","字段2","字段3","字段4"},
new int[]{100,50,60,90});