我在详细模式下设置了一个包含 5 列的 ListView 控件。它由使用以下子例程的代码填充:
For j = 0 To 14
cmd = New OleDbCommand("SELECT TeacherName, ClassSubject, BookingDate, BookingPeriod FROM " & SchemaTable.Rows(i)!TABLE_NAME.ToString() & " WHERE (((BookingDate)=" & Chr(34) & Date.Today.AddDays(j) & Chr(34) & ") AND ((UserName)=" & Chr(34) & user & Chr(34) & "));", cn)
dr = cmd.ExecuteReader
Dim itm As ListViewItem
Dim itms(4) As String
While dr.Read()
itms(0) = dr(0)
itms(1) = SchemaTable.Rows(i)!TABLE_NAME.ToString()
itms(2) = dr(1)
itms(3) = dr(2)
itms(4) = dr(3)
itm = New ListViewItem(itms)
Manage.ManageList.Items.Add(itm)
End While
Next
请注意,这不是完整的例程,只是填充网格的位。
现在我需要从 ListView 控件中检索数据,以便删除数据库中的预订。我使用以下代码检索每列的内容:
ManageList.SelectedItems(0).Text
但它似乎只适用于索引 0。如果我这样做:
ManageList.SelectedItems(3).Text
我收到此错误:
InvalidArgument=“3”的值对“索引”无效。参数名称:索引
我很难过,对我来说,索引 1 指向第二列,索引 2 指向第三列等等,因为它是基于 0 的,这似乎是合乎逻辑的?
任何帮助将不胜感激,谢谢。