2014-03-31 79 views
0

我的問題是,我不能篩選列表框中的多選項目datagridview。Datagridview篩選錯誤/ Vb.net的SQL

我可以通過多個文本框,組合框和一個選定的列表框來過濾datagridview。但是,我不能用listbox篩選多個選擇。任何想法如何解決這個問題?

任何幫助將不勝感激。

+0

sql標記?解釋如何? –

+0

@Raging公牛 MYBindingSource.Filter = _ 的String.Format( 「mycolumn LIKE '%」 &ListBox1.Text& 「% 'AND mycolumn2 LIKE' %」 &ComboBox1.Text& 「%'」) 我的代碼等這個。我使用sql服務器-mdf。 – burak

+0

將代碼放在問題中,而不是在評論中。我對什麼是錯誤有預感,但我無法確定沒有代碼。還要添加一些周圍的代碼,而不僅僅是那一行。 – WozzeC

回答

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匹配。