У меня есть цель заполнить представление списка из выходных данных запроса OleDb.Я могу правильно заполнить Предмет и один подпункт без проблем.Но у меня проблемы с определением остальных 4 подпунктов каждого элемента.
Как вы знаете, обычно вы определяете подэлементы с помощью
ListView1.Items(0).SubItems(1).Text = "Test Item 2"
Но я не могу понять, как это сделать при работе с экземпляром ListView, который заполняет мой Control Listview во время выполнения,
Вот код, который у меня есть, который успешно заполняет элемент и один подпункт:
Dim conn As New System.Data.OleDb.OleDbConnection(connectionString)
Dim com As System.Data.OleDb.OleDbCommand
Dim reader As System.Data.OleDb.OleDbDataReader
Try
'Open the connection
conn.Open()
'Create a new instance of the command and provide the SELECT query, and the opened connection
com = New System.Data.OleDb.OleDbCommand("SELECT * FROM Schedules", conn)
reader = com.ExecuteReader(CommandBehavior.CloseConnection)
'Check to see if the SELECT query returned any rows
If reader.HasRows Then
'If so, perform a read for each row
While reader.Read
'Declare a new ListViewItem, and provide the information
'to be shown in the very first column
Dim item As New ListViewItem(reader.Item("colName").ToString)
'Decare a new ListViewSubItem, and provide the information
'to be shown in the second (and so forth) column
Dim subItem As New ListViewItem.ListViewSubItem
subItem.Text = reader.Item("colNextRun").ToString
'Ideally, I'd like to add "colLastRun as another sub item
'subItem1.Text = reader.Item("colLastRun").ToString
'Add the ListViewSubItem to the ListViewItem
item.SubItems.Add(subItem)
'Add the ListViewItem to the ListView
lv.Items.Add(item)
'Repeat until all rows have been read
End While
End If
'Close the reader
reader.Close()
Catch ex As Exception
'If something went sideways, make sure that you close the connection
'before exiting the method.
If conn.State = ConnectionState.Open Then
'MsgBox(ex.Message)
conn.Close()
End If
End Try