Я хочу, чтобы фильтр collectionviewsource с помощью фильтра, который я написал, но я не уверен, как я могу применить фильтр к нему?Фильтр wpf collectionviewsource в VB?
Вот моя коллекция просмотреть исходный код:
<Grid.Resources>
<CollectionViewSource x:Key="myCollectionView"
Source="{Binding Path=Query4, Source={x:Static Application.Current}}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="ContactID"
Direction="Descending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Grid.Resources>
я реализовал фильтр, как, например:
Private Sub WorkerFilter(ByVal sender As Object, ByVal e As FilterEventArgs)
Dim value As Object = CType(e.Item, System.Data.DataRow)("StaffSection")
If (Not value Is Nothing) And (Not value Is DBNull.Value) Then
If (value = "Builder") Or (value = "Office Staff") Then
e.Accepted = True
Else
e.Accepted = False
End If
End If
End Sub
Так как я могу получить CollectionViewSource отфильтрованной фильтром на нагрузке? Не могли бы вы предоставить весь код hte, который мне нужен (только несколько строк, которые я рисую), поскольку я совершенно новичок в кодировании.
Спасибо ребята
EDIT: Для записи
<CollectionViewSource x:Key="myCollectionView" Filter="WorkerFilter" ... />
дает мне ошибку:
Failed object initialization (ISupportInitialize.EndInit). 'System.Windows.Data.BindingListCollectionView' view does not support filtering. Error at object 'myCollectionView'
Спасибо, но когда я попробую, я получаю следующую ошибку: Инициализация неудачного объекта (ISupportInitialize.EndInit). «Просмотр System.Windows.Data.BindingListCollectionView» не поддерживает фильтрацию. Ошибка в объекте 'myCollectionView' – 2009-04-13 16:23:50
Источник вашего CollectionView не поддерживает фильтрацию, потому что он основан на BindingList. Я не уверен, почему BindingList не поддерживает фильтрацию, но обычный старый список. Попробуйте изменить источник на список, а не на BindingList . –
Uuuhhh .... извините, я не уверен, как бы я это сделал. Я предполагаю, что «Source =» {Binding Path = Query4, Source = {x: Static Application.Current}} «Мой список привязок? Это относится к datatable, называемому Query4. Как я могу превратить это в обычный список? спасибо – 2009-04-13 17:17:30