Jeg mener ikke du kan databinde direkte på en datareader, men du kan med en datatable, som fx i nedenstående eksempel:
Dim DA As New SqlClient.SqlDataAdapter("SELECT * FROM Tabel", "<ConnectionString>") Dim DT As New DataTable("Tabel") DA.Fill(DT) ListBox.ValueMember = "NavnPåKolonne1" ListBox.DisplayMember = "NavnPåKolonne2" ListBox.DataSource = DT
Fandt du ud af det? Hvis du kører access skal du bare bruge OleDb.OleDbDataAdapter istedet :)
Nej, du kan såvidt jeg ved ikke lægge flere kolonner i DisplayMember, men istedet kan du jo, når du henter data fra databasen, lave sammensætningen af de to kolonner der, for eksempel:
SELECT (Kolonne1 & ' : ' & Kolonne2) As NytFelt FROM Tabel1
Dim myText As String = rs(1) Dim myValue As Integer = rs(0) ListBox1.Items.Add(New ListItem(myText, myValue))
-
For at hente value: ListBox1.SelectedItem.Value
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.