Я могу напрямую привязать свой элемент управления DataGridView к списку привязок моих бизнес-объектов, установив свойство DataSource. Мой бизнес-объект реализует INotifyPropertyChanged, поэтому DGV обновляется, когда новый элемент добавляется в список привязок или обновляется существующий.
Что касается работы с отдельными записями, я могу привязать свой бизнес-объект к текстовым полям и другим соответствующим элементам управления.
Я также могу получить от BindingList и создать класс CustomBindingList для реализации необходимых методов IBindable, как описано в ссылке ниже.: http://msdn.microsoft.com/en-us/library/aa480736.aspx
В качестве альтернативы я видел, что люди рекомендуют использовать BindingSource. Источник данных BindingSource — это бизнес-объект, а источник данных DGV — BindingSource.
В любом случае, использование BindingSource не предлагает мне:
Итак, почему рекомендуется подход BindingSource?
Расширенное изображение :Я новичок в концепциях OOPS и C #. Работа с приложениями базы данных. Винформс. До сих пор использовался только подход DataSet/DataTable. Теперь пытаюсь создать и использовать свои собственные пользовательские классы.
Обычно имеют форму Master/Detail. Когда я нажимаю строку сведений в DGV, я хочу редактировать эту запись в отдельном окне. Поэтому мне нужно получить дескриптор элемента списка, представленного этой строкой в DGV. Попытка найти решение для этого привела меня к этому моменту и этому сомнению.
Учитывая то, что я хочу сделать, какой подход лучше и почему?
Некоторые указатели здесь действительно помогут, так как я очень новичок в этом.