С тех пор, как несколько лет назад я начал использовать VB.NET , я стал постепенно знакомиться с использованием функций привязки данных в .NET, однако я часто нахожу себя изумленным из-за его поведения и вместо того, чтобы находить правильное как это должно работать, я нахожу грязную работу вокруг, чтобы удовлетворить свои потребности и продолжить.
Излишне говорить, что мои проблемы продолжают возникать.
Я использую пользовательские объекты в качестве источников данных для элементов управления и часто целых форм. Я расстраиваюсь, когда разделяю бизнес-логику и графический интерфейс. (Это может быть совершенно новый вопрос.) Поэтому для многих объектов я генерирую форму, которая имеет DataBindingSource
для объекта. Когда я создаю каждый из них с помощью нового конструктора, я явно передаю ему объект, к которому он должен быть привязан, а затем устанавливаю этот переданный объект как DataSource
из BindingSource
. (Это глоток!)
Теперь мастер-объект (скажем, привязанный к каждой форме) часто содержит список объектов, которые я хотел бы отобразить в DataGridView
. Я (иногда) создаю и изменяю эти дочерние объекты в их собственной форме (снова создавая привязку данных таким же образом, как и в главной форме), но когда я добавляю их в список в главном объекте, DataGridView
не будет обновляться с новыми товар.
Так что мой вопрос действительно состоит из нескольких слоев:
Как я могу легко / эффективно / правильно обновить это DataGridView
со списком объектов Detail, когда я добавлю их в список главного объекта.
Является ли этот подход к DataBinding
хорошим / жизнеспособным.
Какой лучший способ отделить бизнес-логику от графического интерфейса.