【发布时间】:2020-04-09 18:28:31
【问题描述】:
我正在编写一些代码,用于在 c# 中过滤 BindingSource 中的数据。
在DataTable,我有一列,数据是这样的,
编码很好
我想像我的示例一样,在每个空格之后过滤字符串中的数据,
var ss = "coding is ery";
var s = ss.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
var filter = ColumnName + " like \'%" + s[0] + "%\' ";
for (int i = 1; i < s.Length; i++)
{
filter = filter + "AND " + ColumnName + " like \'%" + s[i] + "%\' ";
}
BindingSource.Filter = filter;
这里的问题是我会得到所有的数据(编码很好)。当单词不是以正确的字母开头时,我不想获取数据。例如,
编码很简单。
我想成为这样的人
“编码非常是”或“非常编码”。
我想要正确的起始字母,但单词的位置并不重要。
有人知道怎么做吗?
【问题讨论】:
-
所以您要求有一个过滤器来检查所有完整的单词但不关心所有这些单词的位置?所以“正在编码 ery”不应该正常工作吗?
-
你是对的,“正在编码 ery”应该不起作用。但不是完整的单词(只有单词的开头字母),“is coding ve”也应该起作用。
标签: c# winforms datatable dataview bindingsource