【问题标题】:Search listview for multiple results在列表视图中搜索多个结果
【发布时间】:2015-08-04 15:30:37
【问题描述】:

我已经完成搜索我的列表视图项,但不幸的是它只显示第一个结果,除此之外什么都没有

这是我的代码

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    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
    

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

    【讨论】:

    • 谢谢你,vlad,这个片段对我有用,因为我有两个列表视图,一个是隐藏的,有一个目录搜索器,第二个列表视图显示搜索结果
    • 两个 cmets: 1. 你的代码块与一行相同: Me.ListView3.Items.Add(ListView2.Items(itm.Index).Clone()) 2. 这是一个矫枉过正使用 ListView 进行搜索。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多