我有一个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,是不是有办法决定每个列的外观,它们是否已添加?
答案 0 :(得分:0)
更改您的代码,如下所示:
gridControl.BeginUpdate();
try {
// your code to change column appearances
}
finally {
gridControl.EndUpdate();
}
这将显着改善电网的性能:)
答案 1 :(得分:0)
关于您的评论(我认为是要求提供更多信息),您可以使用RestoreLayoutFromStream()
和SaveLayoutToStream()
方法保存设置,方法与将其保存为XML的方式相同。 / p>
只需为您的类创建一个Stream
属性,并指示DevExpress将该流保存到该对象。