Составьте список ваших стран. Затем отсортируйте список и добавьте в выпадающий список.
Private Sub OpCode()
Dim Countries As New List(Of String) From {"Cabo Verde", "Ecuador", "Haiti", "Iraq", "El Salvador", "Djibouti", "France", "Bahrain",
"Cameroon", "Guinea", "Albania", "Finland", "Italy", "Jordan", "Grenada", "Dominica"}
Countries.Sort()
ComboBox1.Items.AddRange(Countries.ToArray)
End Sub
РЕДАКТИРОВАТЬ
Хорошо, я вызываю интересующее вас поле "CountryName"
. Я предполагаю, что это второе поле в таблице с индексом 1
.
Операторы Using...End Using
гарантируют, что ваши объекты базы данных будут закрыты и удалены даже в случае ошибки. Вам не нужен DataAdapter
;просто загрузите DataTable
.
. Лучший способ получить отсортированный список - позволить базе данных выполнить работу, добавив предложение Order By
.
Private Function GetCountryNames() As DataTable
Dim dt As New DataTable
Using cn As New SqlConnection("Data Source=PC1-PC;Initial Catalog=Test2;Integrated Security=True"),
cmd As New SqlCommand("Select * From Tabel_6 Order By CountryName;", cn)
cn.Open()
dt.Load(cmd.ExecuteReader)
End Using
Return dt
End Function
Private Sub FillSortedCountriesCombo()
ComboBox1.DataSource = GetCountryNames()
ComboBox1.DisplayMember = "CountryName"
End Sub
Если для некоторыхпричина, вам нужно сделать сортировку в коде, тогда ...
Private Sub FillUnsortedCountriesCombo()
Dim dt = GetCountryNames()
Dim CountriesArray = (From row In dt.AsEnumerable
Order By row.Field(Of String)(1)
Select row("CountryName")).ToArray
ComboBox1.Items.AddRange(CountriesArray)
End Sub