Grid Columns有没有办法从其父GridView继承一组默认的Appearance设置?

时间:2010-09-01 09:52:21

标签: gridview devexpress

我有一个GridView,可以动态地添加GridColumns。在设计时,我不知道视图将有多少列。

我目前要对这些动态添加的列进行格式化,在设置网格的数据源之后将它们格式化为foreach:

 foreach (GridColumn gridColumn in gridView.Columns)
        {
            gridColumn.AppearanceCell.Options.UseTextOptions = true;
            gridColumn.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            gridColumn.AppearanceHeader.Options.UseTextOptions = true;
            gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
            gridColumn.AppearanceHeader.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
            gridColumn.OptionsColumn.AllowGroup = DevExpress.Utils.DefaultBoolean.False;
            gridColumn.OptionsColumn.AllowIncrementalSearch = false;
            gridColumn.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False;
            gridColumn.OptionsColumn.AllowMove = false;
            gridColumn.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
            gridColumn.OptionsColumn.AllowEdit = false;
        }

问题是我可能有大量的列,这个foreach正在减慢我的初始绘图速度。对于GridView,是不是有办法决定每个列的外观,它们是否已添加?

2 个答案:

答案 0 :(得分:0)

更改您的代码,如下所示:

gridControl.BeginUpdate();
try { 
  // your code to change column appearances
}
finally { 
  gridControl.EndUpdate();
}

这将显着改善电网的性能:)

答案 1 :(得分:0)

关于您的评论(我认为是要求提供更多信息),您可以使用RestoreLayoutFromStream()SaveLayoutToStream()方法保存设置,方法与将其保存为XML的方式相同。 / p>

只需为您的类创建一个Stream属性,并指示DevExpress将该流保存到该对象。