How to filter special characters like '[', ']', '*', '%' by typing it in dynamic filter in WinForms GridGroupingControl?
Special character
By default, the filtering uses an expression that contains the column name like [column name]. Hence, using this [ in filtering expression is possible since the column name is mentioned within [ ] . If you filter in DataGridView using the same, it throws an exception as Error in Like operator: the string pattern ‘George [' is invalid and also the special characters like *, %,] symbols are not considered while applying the dynamic filter.
Solution:
These special characters can be handled within the square bracket like “[ [ ]” or “[*]” when you type the text in the dynamic filter. The same works for RowFilter too. The following code example explains about RowFilter using the special character ‘[‘.
C#
private void button1_Click(object sender, EventArgs e) { table.DefaultView.RowFilter="[FirstName] like 'George[[]'"; }
VB
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click table.DefaultView.RowFilter="[FirstName] like 'George[[]'" End Sub
The following screenshot displays the filtering applied with special characters.
In the GridGroupingControl (1st grid), the characters [*] typed in the dynamic filter bar cell to filter the values start with the special character ‘*’.
Samples:
C#: SpecialCharacter
VB: SpecialCharacter