带有多个过滤器的Silverlight 4 PagedCollectionView

时间:2010-10-01 19:46:48

标签: silverlight silverlight-4.0

我是Silverlight 4和PagedCollectionView的新手。我知道可以在PCV中添加过滤器,例如

pvc.Filter = new Predicate(FilterProjectId);

其中pvc是一个填充的PagedCollectionView。

我需要做的是将多个过滤器堆叠到PCV上,因为我有一个搜索屏幕,其上有大约6个字段和一个绑定到PCV的DataGrid。根据选择的组合框,当按下搜索按钮时,我需要根据这些选择过滤PCV结果。

我似乎只能接受最后一个过滤器设置。任何人都可以向我提供有关如何堆叠它们的信息吗?

由于

2 个答案:

答案 0 :(得分:1)

Filter属性只是一个函数的委托,该函数接受一个对象并返回一个布尔值。该功能可以像您选择的那样简单或复杂。

听起来你只需要一个函数包含一系列if块,可以根据需要将对象与6个字段中的每一个进行比较,然后返回结果。

关键是没有“过滤器”可以“堆叠”,只需编写 过滤器功能即可完成所有操作。

答案 1 :(得分:1)

请参阅我对此问题的回答: How do I dynamically construct a predicate method from an expression tree?

我正在使用这种技术与PCV。效果很好。