我的问题是我无法通过列表框中的多选项过滤datagridview。
我可以通过多个文本框,组合框和一个选定的列表框项来过滤datagridview。但是,我无法使用列表框多个选项进行过滤。任何想法我怎么能解决这个问题?
任何帮助将不胜感激。
答案 0 :(得分: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
我不确定paranthesis是否有效,但我有一半期望它。这将创建一个过滤器,要求mycolumn2匹配文本框(如前所述),然后要求mycolumn匹配任何选定的ListBox1.Items。