我知道如何根据单个文本框中用户的输入来过滤数据:
FilterDataView.RowFilter = txtFilter.Text;
但是您将如何基于来自多个字段的多个用户输入来过滤数据。
基本上,过滤器将充当“搜索”功能。
最佳答案
定义RowFilter时,可以使用类似light t-sql的方法。
一种想法是:
FilterDataView.RowFilter = "name like '%habjan%' and city like '%new york%'"
在这里您可以找到有关RowFilter语法的好文章:DataView RowFilter Syntax
对于您需要的内容,您将必须根据输入的字段构建行过滤器。
StringBuilder sb = new StringBuilder();
if (tb1.Text.Length > 0)
{
sb.Append("name like '%" + tb1.Text + "%'");
}
if (tb2.Text.Length > 0)
{
if(sb.Length > 0)
{
sb.Append(" and ");
}
sb.Append("city like '%" + tb2.Text + "%'");
}
//.... and so on...
FilterDataView.RowFilter = sb.ToString();