Я использую привязку данных WinForms для отображения данных из базы данных, сопоставленной с Fluent NHibernate, и это отлично работает.NHibernate, WinForms и DataBinding - они хорошо играют вместе?
Например, я могу просто установить свойство DataSource DataGridView из объекта IList объекта, а voila - все данные!
Но теперь мне нужно начать добавлять и сохранять новые строки данных, и это не так хорошо. Я думал, что смогу просто включить свойство AllowUserToAddRows сетки, а новые строки будут добавлены в базовый IList в сущности, но это не сработало.
Затем, после небольшого поиска, я попытался настроить свойство DataSource на BindingList, который был заполнен из IList, но это не обновляется новыми строками.
В ходе моих поисков я также встретил несколько человек, которые сообщали о сложности с WinForms и DataBinding в целом, что заставляет меня задаться вопросом, буду ли я продолжать этот подход дальше.
Стоит ли придерживаться подхода DataBinding? Если да, может ли кто-нибудь предложить, где я ошибаюсь?
Или лучше просто обрабатывать все события DataGridView, связанные с добавлением новой строки, и писать собственный код для добавления новых объектов в свойство IList в моем объекте?
Другие предложения? (хотя я не думаю, что переход на WPF будет вариантом, независимо от того, насколько лучше может быть привязка данных)
Спасибо, Ash. Когда я переключился с использования BindingList на BindingSource, все работало нормально. –