类似DataView RowFillter的运算符

本文关键字:运算符 RowFillter DataView 类似 | 更新日期: 2023-09-27 18:19:51

我在dataview rowfilter中遇到了一个小问题。如何处理dataview rowfilter中的文本框空值。我在这个过滤器中使用OR运算符。请在本期中帮助指导我。到目前为止,我使用以下代码。

Column1 = string.IsNullOrEmpty(txtColumn1.Text) ? "" : "%" + txtColumn1.Text + "%";
Column2 = string.IsNullOrEmpty(txtColumn2.Text) ? "" : "%" + txtColumn2.Text + "%";
Column3 = string.IsNullOrEmpty(txtColumn3.Text) ? "" : "%" + txtColumn3.Text + "%";
dataView.RowFilter = @"Column1 like '" + Column1 + "'" + "OR Column2 like '" + Column2 + "'" + "OR Column3 like '" + Column3 + "'";

类似DataView RowFillter的运算符

下面的代码片段将帮助您控制使用空值的筛选。如果有用,请尝试标记答案

StringBuilder filter = new StringBuilder();
if (!(string.IsNullOrEmpty(textBox1.Text)))
    filter.Append("Column1 Like '%" + textBox1.Text + "%'");
if (!(string.IsNullOrEmpty(textBox2.Text)))
{
   if (filter.Length > 0) filter.Append(" OR ");
   filter.Append("Column2 Like '%" + textBox2.Text + "%'");
}
if (!(string.IsNullOrEmpty(textBox3.Text)))
{
   if (filter.Length > 0) filter.Append(" OR ");
   filter.Append("Column3 Like '%" + textBox3.Text + "%'");
}
DataView dv = dt.DefaultView;
dv.RowFilter = filter.ToString();