У меня есть DataGridView, привязанный к источнику привязки, который привязан к List<T>. Пользователь щелкает строку, которая переходит в форму с текстовыми полями и т. д. Текстовые поля привязаны к данным следующим образом:
if (txtID.DataBindings.Count == 0)
txtID.DataBindings.Add("Text", bindingSource, "Title");
Я хочу иметь возможность определить, изменил ли пользователь какие-либо данные в элементах управления, когда они нажимают кнопку закрытия, чтобы я мог предложить им сказать: «У вас есть несохраненная работа. Вы хотите сохранить?»
Как обнаружить это в источнике привязки?
ОБНОВЛЕНИЕ: я понял, что могу сделать bindingSource.EndEdit(), который подтолкнет изменения к моему элементу в списке. В моем элементе я могу сказать, если Dirty выбрасывает окно сообщений, но если они нажимают «Нет» для сохранения информации, CancelEdit не работает.