积极答复者
PagedCollectionView怎么可以做到动态Filter?

问题
-
WCF RIA service + Datagrid +PagedCollectionView
Private Sub FilterButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles FilterButton.Click
If PCV IsNot Nothing & PCV.CanFilter = True Then
PCV.Filter = New Predicate(Of Object)(AddressOf FilterCompletedTasks)
End IfEnd Sub
Public Function FilterCompletedTasks(ByVal t As Object) As Boolean
Select Case DG.CurrentColumn.Header
Case "ID"
Return (CType(t, DataCheck).ID= "A001")
Case "Name"
Return (CType(t, DataCheck).Name= "Tom")
Case Else
Return False
End Select End Function1,用户在选择Datagrid不同列要做筛选时,,,怎么动态写PagedCollectionView的Filter语句呢?
2,网上有介绍多种对数据排序,分组,筛选,分页的方法,,,如: DomainDataSource ,DomainService 。还有这个 PagedCollectionView
现在推荐的是哪种方法啊?
不吝赐教
答案
全部回复
-
#1. Predicate code不能动态生成,不如你事先定义好一组Predicate,然后根据用户操作来修改PCV.Filter
#2. DomainDataSource和DomainService是在服务端进行排序和筛选,每次修改条件会重新向服务器请求数据。PagedCollectionView在本地执行排序,筛选。 在处理大数据量时,把所有数据下载到客户端来筛选是不可能的,服务端排序和筛选是唯一选择。
Mog Liang
我在Silverlight.net上看到一个例子,有人重写了DataGrid,,,不是继承,,,他解决了动态Filter的问题,,,
我从他的源程序中也看出一点眉目,但还不是很理解,学习中
不吝赐教