DevExpress XtraGrid — как обновить макет сетки

Я использую сетки DevExpress, есть способ сохранить макет, но у меня есть дополнительный вопрос: возможно ли обновить уже сохраненный макет, не перезаписывая его, а только обновляя, например, столбцы, которые были изменены?


person Edgar    schedule 21.08.2012    source источник
comment
winforms или веб-формы ??? см. это   -  person Niranjan Singh    schedule 21.08.2012


Ответы (3)


Я не могу понять, какова цель обновления сохраненного макета.

Однако, когда вы вызываете savelayout после изменения столбцов, он полностью записывает текущую информацию, связанную с макетом (состояние отображения столбцов, порядок просмотра столбцов, информацию о сортировке и т. д.), в реестр/поток/XML и не дает возможности просто обновить существующую информацию о макете.

Если вы ранее применили макет из уже сохраненного файла, то перезапись того же файла (с информацией о макете) будет эквивалентна вашему требованию - обновление сохраненного макета.

person Krishnakumar    schedule 22.08.2012

Могу ли я предложить вам создать копию этого файла макета? Таким образом, вы можете обновить копию и сохранить оригинал.

person E.T.    schedule 22.08.2012

Этот вопрос задан давно, но есть возможность обновить существующие файлы макетов в DevExpress. Вам нужно обработать два события: LayoutUpgrade и BeforeLoadLayout. В начале вы должны присвоить макету номер версии с помощью свойства OptionsLayout.LayoutVersion. Когда вы изменяете свой макет, скрываете некоторые столбцы, добавляете новые столбцы, добавляете новые фильтры... измените номер LayoutVersion. Когда ваше приложение запускается, DevExpress сравнивает существующий номер LayoutVersion с новым, если есть разница, срабатывает событие LayoutUpgrade.

DevExpress описывает это поведение здесь: Обновление макета

Я надеюсь, это поможет.

person simmeone    schedule 16.02.2016