filter - Objectlistview 过滤器结合 CompositeAllFilter 和 CompositeAnyFilter
问题描述
我有一个 objectListView 作为树视图,我想过滤列表。问题是我有很多复选框,我需要 AND 或 OR 条件。
这是我从示例项目中获取的代码:
// Build a composite filter that unify the three possible filtering criteria
List<IModelFilter> filters = new List<IModelFilter>();
if (this.checkBoxHighPriority.Checked)
filters.Add(
new ModelFilter(delegate(object model)
{
return ((ServiceTask)model).Priority > 3;
}));
if (this.checkBoxIncomplete.Checked)
filters.Add(
new ModelFilter(
delegate(object model)
{
return ((ServiceTask)model).Status != ServiceTask.TaskStatus.Complete;
}));
if (!String.IsNullOrEmpty(this.textBoxFilter.Text))
filters.Add(
new TextMatchFilter(this.olvTasks, this.textBoxFilter.Text));
olvTasks.AdditionalFilter = filters.Count == 0 ? null : new CompositeAllFilter(filters);
我可以从 更改CompositeAllFilter
为CompositeAnyFilter
,但我想要两者的组合:
像这样的东西:
olvTasks.ModelFilter = new ModelFilter(delegate (object x)
{
var myNode = x as Node;
return x != null && ((myNode.Status == "0" || myNode.Status == "1" || myNode.Status == 2"|| myNode.Status == "4") && myNode.Breakdown == "True");
}
如果我只有 4-5 个组合框,这很容易,但我有 10 个组合框。
如何比较过滤器?
非常感谢
解决方案
推荐阅读
- azure - Azure 逻辑应用从 CSV 文件计算列的总和
- spring - 百里香th:javascript中的id值
- python - Spacy BILOU 格式转 spacy json 格式
- python - BERT 总是预测同一个类(微调)
- python - 访问 StringProperty 数据并使用它 (KIVY)
- node.js - Nodejs Express + Nuxt - 会话 Cookie
- java - 如何使用android studio了解部分代码的性能
- sql - 有什么方法可以使用 IN 和 COUNT 重写此查询?
- google-api - 将范围限制为 Google 服务帐户的 Google Auth JWT 客户端中的单个文件
- sql - 如何将列数据透视到不能超过最大总数的行?