2013-06-12 1 views
0

아래 코드를 사용하여 중복되지 않은 값을 조회 편집에 넣으려고하지만, 변수 unique은 항상 null이고 어디에 문제가 있는지 알 수 없습니다.편집 데이터 소스를 조회하는 데 고유 한 값을 설정하십시오.

도움이 필요하십니까?

List<VueItemItemUnit> liste = ObjReservation.LoadAllFamilles(); 
var unique = 
     from element in liste 
     group element by element.FA_CODE into Group 
     where Group.Count() == 1 
     select Group.Key; 

lookUpFamille.Properties.DataSource = unique; 

답변

0

이 시도 :

var unique = liste.Distinct(element => element.FA_CODE).Select(element => element.FA_CODE); 
+0

는'ToList를 추가()'nedded합니다. – Fares

0

나는 다음과 같은 방법을 사용하는 것이 좋습니다 :

lookUpFamille.Properties.DataSource = list.DistinctBy(e => e.FA_CODE).ToList(); 
//... 
// DistinctBy<T,TKey> extension 
static class EnumerableHelper { 
    public static IEnumerable<T> DistinctBy<T, TKey>(this IEnumerable<T> source, Func<T, TKey> keySelector) { 
     return source.Distinct(new EqualityComparer<T, TKey>(keySelector)); 
    } 
    class EqualityComparer<T, TKey> : IEqualityComparer<T> { 
     readonly Func<T, TKey> keySelector; 
     public EqualityComparer(Func<T, TKey> keySelector) { 
      this.keySelector = keySelector; 
     } 
     bool IEqualityComparer<T>.Equals(T x, T y) { 
      return Equals(keySelector(x), keySelector(y)); 
     } 
     int IEqualityComparer<T>.GetHashCode(T obj) { 
      return keySelector(obj).GetHashCode(); 
     } 
    } 
} 
관련 문제