DataGridview内のすべての列のテキストをフィルタリングしたいとします。だから私はフィルタテキストのLike%を使用します。しかし、私はテキスト(strFilter私のコードで)が時々%を含むことが分かった。そのため、構文エラーがあります。フィルターテキストに%が含まれている場合、like節を使用してフィルターを使用するにはどうすればよいですか?ここでVb.net、フィルタテキストに%が含まれている場合、LIKE句でフィルタを使用する方法は?
Private Sub PassFilter(ByRef dataTable As DataTable, ByVal strFilter As String)
Try
Dim dataview As DataView = dataTable.DefaultView
Dim strExp As String = ""
For Each col As DataColumn In dataTable.Columns
If Not String.IsNullOrEmpty(strFilter) Then
If strExp = "" Then
strExp += "[" & col.ColumnName & "]" & " LIKE '%" & strFilter & "%'"
Else
strExp += " OR " & "[" & col.ColumnName & "]" & " LIKE '%" & strFilter & "%'"
End If
End If
Next
dataview.RowFilter = strExp
Catch ex As Exception
ShowMessage("Unable to filter datagridview." + ex.Message)
End Try
End Sub
同じ質問、別の文字。 http://stackoverflow.com/questions/439495/how-can-i-escape-square-brackets-in-a-like-clause –