-1

我的问题是我无法通过列表框中的多选项目过滤 datagridview。

我可以通过多个文本框、组合框和一个项目选择列表框过滤 datagridview。但是,我无法使用列表框多项选择进行过滤。任何想法我该如何解决这个问题?

任何帮助将不胜感激。

4

1 回答 1

0

我将继续根据您的评论发布我的预感:

ListBox.Text 将为您提供第一个选定的 item.ToString()。这意味着当您选择两个对象时,它仍然只向您显示第一个。您要做的是循环遍历不同的 ListBoxItems 并分别将它们一一添加。所以你要找的是这样的:

Dim Result As String = String.Format("mycolumn2 Like '%{0}%' AND (", ComboBox1.Text)
For i As Integer = 0 To ListBox1.SelectedItems.Count - 1
    Result &= String.Format(" mycolumn Like '%{0}%'", ListBox1.SelectedItems(i).ToString)
    If i <> ListBox1.SelectedItems.Count - 1 Then
        Result &= " OR "
    Else
        Result &= ")"
    End If
Next

我不确定括号是否会起作用,但我有一半希望它会起作用。这将创建一个过滤器,它要求 mycolumn2 匹配文本框(如前所述),然后要求 mycolumn 匹配任何选定的 ListBox1.Items。

于 2014-03-31T12:21:44.117 回答