这就是我填充列表视图的方式
With ListView1
.View = View.Details
.Columns.Add("Articles", "Articles")
.Columns.Add("Prix", "Prix")
.Columns.Add("Quantité", "Quantité")
.Columns.Add("Total", "Total")
End With
'populate "inputs"...
For Each item As Container In sList
Dim curEntry As New ListViewItem(New String() {item.sItemName.ToString(), item.sPrice.ToString("C2"), item.iNumber.ToString(), item.sPriceTot.ToString("C2")})
ListView1.Items.Add(curEntry)
Next
我尝试使用
获取selectedRow的subItemListView1.SelectedItems(0).SubItems("Articles").Text
但是我得到一个null异常,因为subItem为null因为调用文本给我这个错误,但为什么它为null它不应该为null
我需要知道为什么是null以及我如何解决这个问题,谢谢
答案 0 :(得分:1)
你可以依赖指数;示例代码(第一行和第一列):
Dim val11 As String = ListView1.SelectedItems(0).SubItems(0).Text
或者为行指定Name
并使用此名称来引用它:
Dim curEntry As New ListViewItem(New String() {item.sItemName.ToString(), item.sPrice.ToString("C2"), item.iNumber.ToString(), item.sPriceTot.ToString("C2")})
curEntry.Name = "Row 1"
ListView1.Items.Add(curEntry)
Dim val11 As String = ListView1.Items("Row 1").SubItems(0).Text
更新:
如果您通过自己的方法SubItems
添加Name
({1}},则可以引用SubItems.Add
(列),并为每个Name
分配 Dim curEntry As New ListViewItem(New String() {item.sItemName.ToString(), item.sPrice.ToString("C2"), item.iNumber.ToString(), item.sPriceTot.ToString("C2")})
curEntry.SubItems.Add("otherColumn").Name = "5th column"
curEntry.Name = "Row 1"
ListView1.Items.Add(curEntry)
Dim val15 As String = ListView1.Items("Row 1").SubItems("5th column").Text
:
{{1}}