2013-05-21 79 views
1

重复条目我有一个类如由这个类形成滤波对于ICollectionView

Class ABC() 
{ 
    public string Name{get;set;} 
    public string Category{get;set;} 
} 

列表由具有值为: -

Name = "A", Category = "Alphabet" 
Name = "1", Category = "Numeric" 
Name = "2", Category = "Numeric" 
Name = "B", Category = "Alphabet" 
Name = "A", Category = "Alphabet" 

我上施加以上(使用ICollectionView)滤波器基于类别只能作为“字母”和结果列表清单: -

Name = "A", Category = "Alphabet" 
Name = "B", Category = "Alphabet" 
Name = "A", Category = "Alphabet" 

这是工作的罚款,但我不是一个可以从列表中过滤掉这个重复的条目。 我正在使用WPF MVVM。 请帮忙。

+0

你能告诉你是如何筛选? –

回答

5

在过滤器回调函数中,仅当当前对象具有所需类别AND时,才返回true,并且该名称是第一个。

事情是这样的:

... 
    ObservableCollection<ABC> Items { get;set} 
    ListCollectionView ItemsView { get;set } 
    ... 
    // View filter logic 
    ItemsView.Filter = o => 
      { 
       var abc = o as ABC; 
       if (abc == null) return false; 
       return abc.Category == "Alphabet" && 
         abc == Items.First(i => i.Name == abc.Name); 
      }; 
+0

感谢它为我工作.. – Girish