Заполнение Combobox элементами Value и Display. Пользовательский класс против базовой строки SQL - PullRequest
0 голосов
/ 14 января 2019

Я хочу заполнить ComboBox всего тремя элементами с элементами display и value. Эти элементы никогда не изменятся и будут жестко закодированы.

Какой способ лучше заполнить это поле со списком:

  1. Создайте собственный словарь и создайте 3 элемента для добавления в поле со списком.

    Dim comboSource As New Dictionary(Of String, String)()
    comboSource.Add("1", "SpareElement1")
    comboSource.Add("2", "SpareElement2")
    comboSource.Add("3", "SpareElement3")
    ComboBox1.DataSource = New BindingSource(comboSource, Nothing)
    ComboBox1.DisplayMember = "Value"
    ComboBox1.ValueMember = "Key"
    
  2. Передать запрос SQL, чтобы принудительно вернуть желаемый набор данных:

    ComboBox1.ValueMember = "id"
    ComboBox1.DisplayMember = "Name"
    ComboBox.Datasource = RUNSQL("SELECT 'SpareElement1' as Name, 1 as ID UNION SELECT 'SpareElement2' as Name, 2 as ID UNION SELECT 'SpareElement3' as Name, 3 as ID")
    

Пользовательский словарь не будет использоваться где-либо еще, и ни один набор данных не будет привязан.
Каковы плюсы и минусы в любом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...