I am trying to display the contents of a table from an Access 2007 Database inside a List-view Box.
I am using a Combo Box to select the user I wish to see the details about:
Private Sub Admin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReadUsers()
con.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=E:\Computing\Projects\Login\Login\bds.accdb;")
con.Open()
Sql = "Select * From Clients"
da = New OleDb.OleDbDataAdapter(Sql, con)
da.Fill(ds, "Clients")
MaxRows = ds.Tables("Clients").Rows.Count
intCounter = -1
ComboBoxClients.DisplayMember = "ClientName"
ComboBoxClients.ValueMember = "ID"
ComboBoxClients.DataSource = ds.Tables("Clients")
Then inside the List View:
Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
Dim Test As Integer
ListView1.Clear()
For i = 0 To MaxRows - 1
Test = ds.Tables("Clients").Rows(i).Item("ClientName")
If Test = ComboBoxClients.SelectedValue Then
For intCounter As Integer = 0 To ds.Tables("Clients").Columns.Count - 1
ListView1.Columns.Add(ds.Tables("Clients").Columns(intCounter).ColumnName, 80, HorizontalAlignment.Center)
Next
Dim ListItem = New ListViewItem
ListItem = ListView1.Items.Add(ds.Tables("Clients").Rows(i).Item(0))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(1))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(2))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(3))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(4))
End If
Next
End Sub
The listview box currently doesn't display anything:
http://img96.imageshack.us/img96/1151/20100215133335.gif
Any help would be great, thanks.
ListView1 Revision:
Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
Dim Test As Integer
Dim ListItem = New ListViewItem
ListView1.Clear()
For i = 0 To MaxRows - 1
Test = ds.Tables("Clients").Rows(i).Item("ClientName")
If Test = ComboBoxClients.SelectedValue Then
For intCounter As Integer = 0 To ds.Tables("Clients").Columns.Count - 1
ListView1.Columns.Add(ds.Tables("Clients").Columns(intCounter).ColumnName, 80, HorizontalAlignment.Center)
Next
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(0))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(1))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(2))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(3))
ListItem.SubItems.Add(ds.Tables("Clients").Rows(i).Item(4))
ListView1.Items.Add(ListItem)
End If
Next
End Sub