获取listview vb.net中项目的索引

时间:2014-08-30 22:50:44

标签: vb.net listview

如何通过循环获取listview中项目的索引?

for i = 0 to Listview1.items.count -1
       ??????????????????
next

这样我就可以获得索引并验证它。 我知道如何使用selectedindices获取索引。 我真的想知道如何在循环方法中获取索引

只想澄清

我正在开发一个listview,它有一个来自按键0到9的热键 当按下按键0时,item1将被插入列表视图中,如果我再次按0,数量列将递增,我设法做到这一点。但问题是,当我首先按下按键1(其中有项目2)时,它将进入列表视图,然后如果我按下按键0即时出错,因为数量有关。我认为找到索引并循环它将解决问题。

这就是我如何设法在第4列或第3列中提供item1的数量

Dim quantity As Integer = CInt(cartListView.Items(0).SubItems.Item(3).Text)
quantity = quantity + 1
cartListView.Items(0).SubItems.Item(3).Text = quantity.ToString
当然,当item1在listview的索引1中时,索引(0)给出错误 请注意,item1在按键1中是静态的还是固定的1.任何解决方案或修订版?

解决: 因为item1是静态的,所以vlad给出的循环语句就是这样做的。它设法搜索item1并返回索引并将该索引插入到此代码的元素0

Dim textSearch = DTfsn.Rows(0)("item1").ToString 'static item for keypress 1
For i = 0 To cartListView.Items.Count - 1
     If cartListView.Items(i).Text = textSearch Then
         Dim quantity As Integer = CInt(cartListView.Items(i).SubItems.Item(3).Text)
         quantity = quantity + 1
         cartListView.Items(i).SubItems.Item(3).Text = quantity.ToString
      End If
 Next

现在,无论item1在列表视图中的位置如何,都可以增加其数量。

1 个答案:

答案 0 :(得分:1)

从此评论开始

  

当然。我想知道如何获取搜索项目的索引

我只是猜测

如果您想查找特定项目的index(在示例中我正在搜索项目d

enter image description here

你可以这样做:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click


    Dim textSearch = TextBox1.Text 'text to look for

    For i = 0 To ListView1.Items.Count - 1

        If ListView1.Items(i).Text = textSearch Then
            MessageBox.Show("text found at index " & i.ToString)
        End If

    Next

End Sub

enter image description here