Как правильно привязать данные к combobox с помощью объекта bindingsource в конструкторе.
Привет:
Я понимаю, как программно привязать данные к ComboBox:
например:
ComboBox1.DataSource = data.EmployeeList() ComboBox1.DisplayMember = "Name" ComboBox1.ValueMember = "EmployeeID"
Однако то, что я пытаюсь сделать, - это связать данные с помощью конструктора и исходного объекта привязки.
Как показано ниже, с помощью конструктора я добавил источник данных и настроил элемент отображения и значения, но при загрузке формы данных нет.
Как привязать список с помощью конструктора к Combobox?
Что я уже пробовал:
Сначала я создал источник данных:
Public Class Employee Public Property EmployeeID As String Public Property Name As String End Class
Public Class Data Public Function Data() As List(Of Employee) Return New List(Of Employee)() From { _ New Employee() With { _ .Name = "George Benson", _ .EmployeeID = 321 }, _ New Employee() With { _ .Name = "Gladys Knight", _ .EmployeeID = 322 }, _ New Employee() With { _ .Name = "David Bowie", _ .EmployeeID = 323 }, _ New Employee() With { _ .Name = "Steve Wonder", _ .EmployeeID = 324 }, _ New Employee() With { _ .Name = "Tina Turner", _ .EmployeeID = 325 } } End Function End Class
Затем я создал модель представления с одним свойством только для чтения, чтобы я мог привязать
Комбобокс к нему.
Примечание: это не полная реализация MVP или MVPM, это только для демонстрации.
Public Class EmployeeViewModel Private _listEmployees As Data Sub New() _listEmployees = New Data() End Sub Public ReadOnly Property EmployeeList() As List(Of Employee) Get Return _listEmployees.Data() End Get End Property End Class