我正在尝试使用DefaultView.RowFilter过滤我的Datagridview,目前可以很容易地按单个单词对列表进行排序。我的问题是如何通过多个单词对其进行过滤。下面是一个例子
我的datagridview将包含以下内容:
1个Topeka
曼哈顿2号
3达拉斯
4达拉斯
5 Topeka
6威奇托
然后我会在文本框中输入“威奇托,达拉斯,曼哈顿”或“威奇托,达拉斯,曼哈顿”,然后它会过滤我的DataGrid,使其只显示
曼哈顿2号
3达拉斯
4达拉斯
6威奇托
这是我的代码。它不喜欢在'%{s}%‘处有一个数组值,但它适用于单个筛选器,例如FilterTextBox.Text为"Dallas“甚至"Dall”的'%{FilterTextBox.Text}%’。
private void FilterTxtbox_TextChanged(object sender, EventArgs e)
{
if (uxFilterTxtbox.Text != "Type Here...") //IGNORE... This is for my watermark capibility
{
string[] s = uxFilterTxtbox.Text.Split(',');
(uxWiuInfoGrid.DataSource as DataTable).DefaultView.RowFilter =
$"WiuAddressCol + SubDivLongNameCol + StationNameCol + LineSegCol + MilepostCol + MilepostSuffixCol LIKE '%{s}%'";
}
}https://stackoverflow.com/questions/44594483
复制相似问题