【问题标题】:set unique values to lookup edit data source设置唯一值以查找编辑数据源
【发布时间】:2013-06-12 15:00:40
【问题描述】:

我正在尝试使用下面的代码将非重复值放入查找编辑中,但变量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;

【问题讨论】:

    标签: c# .net winforms devexpress


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 如果需要,请添加ToList()
    【解决方案2】:

    我建议你使用以下方法:

    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();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-08-25
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      相关资源
      最近更新 更多