События Infragistics.Win.UltraWinGrid

Есть ли в Infragistics какое-либо событие, которое могло бы поймать «После изменения вывода столбца» для UltraWinGrid?

Для значка булавки он переключает «Фиксированный» столбца сетки.

Я пытался использовать MouseClick, но он запускается «Перед фиксированным изменением столбца» вместо «После фиксированного изменения столбца».

Я пытался использовать AfterColPosChanged, но он срабатывает во время инициализации формы, что тоже не ожидается.

Спасибо.


person SKLTFZ    schedule 11.01.2018    source источник


Ответы (1)


Правильное событие — AfterColPosChanged. Однако, если вам не нужно запускать это событие во время инициализации сетки, вы можете отключить это событие с помощью EventManager при запуске инициализации и снова включить его по завершении инициализации.

Вы также можете использовать события мыши, но вам следует попробовать MouseDown и MouseUp. Это порядок событий, когда пользователь нажимает кнопку булавки:

MouseDown
BeforColPosChanged
AfterColPosChanged
MouseUp

Редактировать

Если вы предпочитаете использовать EventManager, вы должны отключить события в начале load_page и включить его в конце следующим образом:

private void Form1_Load(object sender, EventArgs e)
{
    this.ultraGrid1.EventManager.SetEnabled(GridEventIds.AfterColPosChanged, false);
    // TODO: your code here
    this.ultraGrid1.EventManager.SetEnabled(GridEventIds.AfterColPosChanged, true);
}
person wnvko    schedule 11.01.2018
comment
мышь вверх работает, но мне интересно, как EventManager указывает, а не это page_load или нажатие кнопки, спасибо - person SKLTFZ; 11.01.2018
comment
EvenManager не знает, находитесь ли вы в page_load или в button_click. Что вы можете сделать, если вы используете EventManager, так это в самом начале page_load отключить AfterColPosChanged. Затем в самом конце page_load включите событие. Таким образом, все, что происходит в page_load AfterColPosChanged, не сработает. Я обновил свой ответ с образцом кода для этого. - person wnvko; 11.01.2018
comment
Полезно знать об уловке менеджера событий сетки, я придерживаюсь MouseUp, чтобы предотвратить ненужную обработку form_load. Спасибо - person SKLTFZ; 12.01.2018