Я работаю над внутренней программой отслеживания программного обеспечения, и каждой ревизии программы назначается ведущий программист из базы данных сотрудников.Моя простая модель выглядит так:
Изначально у меня был объект RevisionBindingSource
, который был привязан к моей коллекции Revisions
:
Dim container as new EntityContainer
revisionBindingSource.DataSource = container.Revisions
...
dgRevisions.DataSource = revisionBindingSource
dgRevisions.DataMemeber = ""
Это сработало хорошо, и я смог привязать к различным требуемым свойствам, таким как название приложения:
lblAppTitle.DataBindings.Add("Text",revisionBindingSource,"Application.Title")
Однако мне теперь нужен ComboBox, элементы которого привязаны к списку сотрудников, ивыбранное значение которого привязано к ведущему программисту текущей ревизии.Я попытался создать новый employeeBindingSource
, но понял, что у меня нет элемента привязки для Value
:
employeeBindingSource.DataSource = container.Employees
...
cboLead.DataSource = employeeBindingSource
cboLead.DisplayMember = "Name.Display" 'Name is a complex type'
cboLead.ValueMember = '??
Поэтому я переписал некоторые из моих привязок, чтобы иметь только одну bindingSource
:
bindingSource.DataSource = container
...
dgRevisions.DataSource = bindingSource
dgRevisions.DataMemeber = "Revisions"
...
cboLead.DataSource = bindingSource
cboLead.DisplayMember = "Employees.Name.Display"
cboLead.ValueMember = "Employees"
...
lblAppTitle.DataBindings.Add("Text",bindingSource,"Revisions.Application.Title")
Это все еще даже не заполняет ComboBox чем-либо.
Какой шаблон мне лучше использовать - два разных источника привязки или один?Что я делаю неправильно, связывая мой ComboBox?И как только заполнится мой ComboBox, как я могу связать текущее значение с ведущим программистом ревизии?
Извините за длинный вопрос, и спасибо.