1.ActiveFilterCriteria 属性,实现多条件过滤
界面数据如图
代码如下
private void FilterGridRow()
{
List<CriteriaOperator> list = new List<CriteriaOperator>();
this.BillItemTreeList.ActiveFilterCriteria = null;
string codeFilter = this.scDetailEntry.Text.Trim();
string nameFilter = this.scDetailName.Text.Trim();
if (!string.IsNullOrWhiteSpace(codeFilter))
{
list.Add(new FunctionOperator(
FunctionOperatorType.Contains, new OperandProperty("Code"),
new OperandValue(codeFilter)));
}
if (!string.IsNullOrWhiteSpace(nameFilter))
{
list.Add(new FunctionOperator(
FunctionOperatorType.Contains, new OperandProperty("Name"),
new OperandValue(nameFilter)));
}
if (list.Any())
{
this.BillItemTreeList.ActiveFilterCriteria = new GroupOperator(GroupOperatorType.And, list);
}
}
private void scDetailEntry_EditValueChanged(object sender, EventArgs e)
{
FilterGridRow();
}
private void scDetailName_EditValueChanged(object sender, EventArgs e)
{
FilterGridRow();
}
效果如下
如果不需要用户操作编辑过滤器按钮可以设置AllowFilter为false