搜索列表视图以获得多个结果

时间:2015-08-04 15:30:37

标签: vb.net listview visual-studio-2013

我已经完成了搜索我的列表视图项目,但遗憾的是它只显示了第一个结果而且没有显示任何内容

这是我的代码

Private Sub ULButton1_Click(sender As Object, e As EventArgs) Handles ULButton1.Click

        If ComboBox2.Text = "" Then
            MessageBox.Show("Please select an office")
        Else
            Dim itm As ListViewItem

            itm = Me.ListView2.FindItemWithText(TextBox1.Text)

            If Not itm Is Nothing Then
                ListView2.SelectedItems.Clear()
                ListView3.Clear()
                ListView3.View = View.Details
                ListView3.FullRowSelect = True
                ListView3.GridLines = True
                ListView3.Sorting = SortOrder.Ascending
                ListView3.Columns.Add("Username", CInt(ListView1.Width / 2))
                ListView3.Columns.Add("Name", CInt(ListView1.Width / 2))

                Me.ListView2.Items.Item(itm.Index).Selected = True
                For Each itm2 As ListViewItem In Me.ListView2.SelectedItems
                    Me.ListView3.Items.Add(ListView2.Items(itm2.Index).Clone())
                Next
            Else
                MessageBox.Show("Not Found", "")
            End If

            itm = Nothing
        End If
    End Sub

当我在文本框中输入一个字符串时,此代码将在另一个列表视图中显示listview项的结果,有没有一种方法可以修改它以显示我在文本框中输入的字符串的多个相关项?

谢谢

1 个答案:

答案 0 :(得分:0)

FindItemWithText仅查找第一个匹配项。 您需要使用另一个表单或该函数来获取起始索引并继续在循环中查找下一个项目。 此外,这个片段看起来很奇怪:

        Me.ListView2.Items.Item(itm.Index).Selected = True
        For Each itm2 As ListViewItem In Me.ListView2.SelectedItems
            Me.ListView3.Items.Add(ListView2.Items(itm2.Index).Clone())
        Next

您迭代选定的项目,但您只选择了一个!你已经知道了它的索引......