DataGridView связан с вопросом объекта iNotifyPropertyChanged
У меня есть производный DataGridView, привязанный к BindingList, и объект реализует iNotifyPropertyChanged.
Я хотел бы сделать следующее: Когда мое свойство, прикрепленное к моему DataGridView, изменилось, я хочу вызвать функцию, которая будет обновлять заголовок одного из моих столбцов.
В принципе, я хочу добавить свой СОБСТВЕННЫЙ ответ к событию PropertyChanged. К сожалению, я не могу найти, где hook\handle предназначен для того, чтобы событие подписалось на него самостоятельно.
Спасибо заранее!
Edit:
Решение, которое я выбрал, было гибридом между двумя верхними ответами. Я закончил подписку на событие ListAdded\Changed и смог получить достаточно контекста оттуда, чтобы обновить все мои функции.
Я думаю, вы хотите обработать событие BindingSource.CurrentItemChanged
.
Вы должны переопределить следующие методы:
OnDataMemberChanged http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.ondatamemberchanged.aspx
OnDataSourceChanged http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.ondatasourcechanged.aspx
Внутри этих методов вы должны использовать класс ListBindingHelper http://msdn.microsoft.com/en-us/library/system.windows.forms.listbindinghelper.aspx и его метод GetList для получения фактического объекта, который представляет список, связанный с вашим DataGridView. Вы должны попробовать передать его в IBindingList, и если вы используете .NET FW 3.5 или выше, в интерфейс INotifyCollectionChanged и подписаться на соответствующие события.
В BindingList просмотрите событие ListChanged.
Изменить: http://msdn.microsoft.com/en-us/library/ms132742.aspx говорит, что событие происходит "когда список или элемент в списке изменяется" (т.е. когда Событие PropertyChanged объекта в списке запущено).
- Вопросы
- Datagridview
- DataGridView связан с вопросом объекта iNotifyPropertyChanged