GridColumns是否有办法从其父GridView继承默认的外观设置集?

GridColumns是否有办法从其父GridView继承默认的外观设置集?,gridview,devexpress,Gridview,Devexpress,我有一个GridView,可以动态添加GridColumns。在设计时,我不知道视图将有多少列 我目前为格式化这些动态添加的列所做的是,在设置网格的数据源之后,在foreach中格式化它们: foreach (GridColumn gridColumn in gridView.Columns) { gridColumn.AppearanceCell.Options.UseTextOptions = true; gridColumn

我有一个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,是否有一种方法可以决定其每个列的外观,以及它们是否已添加?

更改代码,如下所示:

gridControl.BeginUpdate();
try { 
  // your code to change column appearances
}
finally { 
  gridControl.EndUpdate();
}
这将显著提高网格的性能:)

关于您的评论(我认为这是对更多信息的请求),您可以使用
RestoreLayoutFromStream()
SaveLayoutToStream()
方法保存设置,方法与将设置保存到XML的方式相同


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

同时,我发现在创建动态列之前在GridView上调用SaveLayoutToXml非常有效,然后使用同一文件恢复ElayoutFromXML。是否有一种方法可以在不使用任何文件(换句话说,从内存)的情况下保存和恢复布局?谢谢,这将使加载增加大约5倍,但我仍然认为,决定视图中的任何列的外观和行为应如何以模板化方式进行会更有意义。