【发布时间】:2017-10-05 15:24:23
【问题描述】:
我正在尝试过滤 ICollection,但未应用过滤器,而是为我提供了所有记录。谓词有什么问题吗?所以有两种方法可以在收集上应用过滤器。首先它过滤 SW_Version 的记录,然后在第二个过滤器中过滤匹配的 id。基本上我正在实现搜索功能。
public void Updateswlist()
{
CRmappings2 = new ObservableCollection<SPFetchCREntity>(crentities.ToList());
AllCRSP = CollectionViewSource.GetDefaultView(CRmappings2);
SearchMU = SelectedSW.SW_Version;
AllCRSP.Filter = obj =>
{
SPFetchCREntity entity = obj as SPFetchCREntity;
return obj != null && entity.SW_Version == SearchMU.ToString();
};
AllCRSP.Refresh();
第二个过滤器
public void searchMUID()
{
AllCRSP.Filter = obj =>
{
SPFetchCREntity entity = obj as SPFetchCREntity;
return obj != null && entity.MU_Identifier == Mupass.ToString();
};
AllCRSP.Refresh();
}
【问题讨论】:
-
您是否尝试同时按 SW_Version 和 MU_Identifier 进行过滤?
-
CVS 的源是否设置为 CRmappings2?
-
@mm8 不,它们发生在不同的屏幕上。但第二个过滤器应用于第一个过滤器的视图。
标签: c# wpf data-binding observablecollection icollectionview