Example #1
0
        protected override void ApplySortCore(PropertyDescriptor property, ListSortDirection direction)
        {
            List <T> items = Items as List <T>;

            if (items != null)
            {
                GenericIComparer <T> comparer = GenericComparerFactory.GetComparer <T>(property.Name, direction);
                items.Sort(comparer);
                isSorted = true;
            }
            OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
        }
Example #2
0
        protected override int FindCore(PropertyDescriptor property, object key)
        {
            if (!(key is T))
            {
                throw new ArgumentException("Incompatible object type", "key");
            }
            GenericIComparer <T> comparer = GenericComparerFactory.GetComparer <T>(property.Name);

            for (Int32 index = 0; index < Items.Count; ++index)
            {
                if (comparer.Compare(Items[index], (T)key) == 0)
                {
                    return(index);
                }
            }
            return(-1);
        }
Example #3
0
 protected PropertyDescriptor getPropertyDescriptor(string propertyName)
 {
     return(GenericIComparer <T> .GetPropertyDescriptor(propertyName, typeof(T)));
 }