Есть ли способ для GridColumns наследовать набор настроек внешнего вида по умолчанию от своего родительского GridView? - PullRequest
0 голосов
/ 01 сентября 2010

У меня есть 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 голосов
/ 19 октября 2010

Что касается вашего комментария (который я считаю запросом на дополнительную информацию), вы можете использовать метод RestoreLayoutFromStream() и SaveLayoutToStream(), чтобы сохранить настройки так же, как вы сохраняете их в XML.

Просто создайте свойство Stream для своего класса и направьте DevExpress, чтобы сохранить этот поток в этом объекте.

0 голосов
/ 01 сентября 2010

Измените свой код, как показано ниже:

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

Это значительно улучшит производительность сетки:)

...