如果输入字符串是所需列中字符串的子字符串,如何创建可以过滤的 DataView RowFilter

How to create a DataView RowFilter that can filter if the input string is a substring of the string in the desired column

我想创建一个 DataView RowFilter 可以过滤 输入字符串是列中字符串的子字符串。例如,如果数据表 dt 有列 "Name",其中一行的字符串值 "Mary" 和另一行的字符串值 "John"。我希望用户能够在搜索框中键入 "ary",而 returned 行是包含 "Mary" 的行。不用说了

dv.RowFilter = "Name = 'Mary'"

只会 return 完全匹配。我也想要这样,如果输入字符串为空,它 return 是所有行。

根据这个 link,您可以使用 LIKE 比较运算符和 * 通配符。以下语句将 return Name 列包含值 "Mary":

的所有行
dv.RowFilter = "Name LIKE '*Mary*'"

请注意,如果该值为空,语句将为 "Name LIKE '**'",这将 return 所有行,因此满足您的其他条件。