diff --git a/UserInterface/Menu.cs b/UserInterface/Menu.cs index a097f44c..6e23781b 100644 --- a/UserInterface/Menu.cs +++ b/UserInterface/Menu.cs @@ -718,9 +718,26 @@ private void TextBoxSearch_TextChanged(object sender, EventArgs e) string filterField = dgv.Columns[1].Name; SearchTextChanging?.Invoke(); + // Expression reference: https://docs.microsoft.com/en-us/dotnet/api/system.data.datacolumn.expression?view=net-6.0 + + // Instead implementing in-string wildcards, simply split into multiple search patters string searchString = textBoxSearch.Text.Trim() .Replace("%", " ") .Replace("*", " "); + + // Replace special characters + string tmp = new string(searchString); + searchString = string.Empty; + foreach (char ch in tmp) + { + switch(ch) + { + case '[': searchString += "[[]"; break; + case ']': searchString += "[]]"; break; + default: searchString += ch; break; + } + } + string like = string.Empty; string[] splittedParts = searchString.Split(" "); if (splittedParts.Length > 1)