示例#1
0
        internal static void RebuildDescriptorIndex(IEnumerable <TDataItem> source, SortDescriptorCollection sortDescriptors, GroupDescriptorCollection groupDescriptors)
        {
            IEnumerator <TDataItem> e = source.GetEnumerator();

            e.MoveNext();
            if (e.Current != null)
            {
                for (int i = 0; i < sortDescriptors.Count; i++)
                {
                    if (string.IsNullOrEmpty(sortDescriptors[i].PropertyName))
                    {
                        continue;
                    }

                    sortDescriptors[i].PropertyIndex = e.Current.IndexOf(sortDescriptors[i].PropertyName);
                }

                for (int i = 0; i < groupDescriptors.Count; i++)
                {
                    for (int j = 0; j < groupDescriptors[i].GroupNames.Count; j++)
                    {
                        if (string.IsNullOrEmpty(groupDescriptors[i].GroupNames[j].PropertyName))
                        {
                            continue;
                        }

                        groupDescriptors[i].GroupNames[j].PropertyIndex = e.Current.IndexOf(groupDescriptors[i].GroupNames[j].PropertyName);
                    }
                }
            }
        }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CollectionViewProvider&lt;T&gt;"/> class.
 /// </summary>
 public CollectionViewProvider()
 {
     this.collectionView   = null;
     this.sortDescriptors  = new SortDescriptorCollection();
     this.groupDescriptors = new GroupDescriptorCollection();
     this.filter           = null;
 }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CollectionViewProvider&lt;T&gt;"/> class.
 /// </summary>
 /// <param name="sourceCollectionView">The source collection view.</param>
 public CollectionViewProvider(ICollectionView <T> sourceCollectionView)
 {
     this.collectionView   = sourceCollectionView;
     this.sortDescriptors  = collectionView.SortDescriptors;
     this.groupDescriptors = collectionView.GroupDescriptors;
     this.filter           = collectionView.Filter;
 }
示例#4
0
        internal static void RebuildDescriptorIndex(
            IEnumerable <TDataItem> source,
            SortDescriptorCollection sortDescriptors,
            GroupDescriptorCollection groupDescriptors)
        {
            IEnumerator <TDataItem> enumerator = source.GetEnumerator();

            enumerator.MoveNext();
            if ((object)enumerator.Current == null)
            {
                return;
            }
            for (int index = 0; index < sortDescriptors.Count; ++index)
            {
                if (!string.IsNullOrEmpty(sortDescriptors[index].PropertyName))
                {
                    sortDescriptors[index].PropertyIndex = enumerator.Current.IndexOf(sortDescriptors[index].PropertyName);
                }
            }
            for (int index1 = 0; index1 < groupDescriptors.Count; ++index1)
            {
                for (int index2 = 0; index2 < groupDescriptors[index1].GroupNames.Count; ++index2)
                {
                    if (!string.IsNullOrEmpty(groupDescriptors[index1].GroupNames[index2].PropertyName))
                    {
                        groupDescriptors[index1].GroupNames[index2].PropertyIndex = enumerator.Current.IndexOf(groupDescriptors[index1].GroupNames[index2].PropertyName);
                    }
                }
            }
        }
示例#5
0
 public GroupDescriptor()
 {
     this.groupNames = new SortDescriptorCollection();
     this.groupNames.CollectionChanged += new NotifyCollectionChangedEventHandler(this.groupNames_CollectionChanged);
     this.format     = "{0}: {1}";
     this.aggregates = new StringCollection();
 }
 public CollectionViewProvider()
 {
     this.collectionView   = (ICollectionView <T>)null;
     this.sortDescriptors  = new SortDescriptorCollection();
     this.groupDescriptors = new GroupDescriptorCollection();
     this.filter           = (Predicate <T>)null;
 }
示例#7
0
 public SortDescriptor(
     string propertyName,
     ListSortDirection direction,
     SortDescriptorCollection owner)
     : this(propertyName, direction)
 {
     this.owner = owner;
 }
示例#8
0
 private void InitializeFields()
 {
     this.filter           = (Predicate <TDataItem>)null;
     this.filterExpression = string.Empty;
     this.filterContext    = new StringCollection();
     this.sortDescriptorCollectionFactory = (ISortDescriptorCollectionFactory) new DefaultSortDescriptorCollectionFactory();
     this.sortDescriptors = this.SortDescriptorCollectionFactory.CreateCollection();
     this.sortDescriptors.CollectionChanged += new NotifyCollectionChangedEventHandler(this.sortDescriptors_CollectionChanged);
     this.groupFactory = (IGroupFactory <TDataItem>) new DefaultGroupFactory <TDataItem>();
     this.groupDescriptorCollectionFactory = (IGroupDescriptorCollectionFactory) new DefaultGroupDescriptorCollectionFactory();
     this.groupDescriptors = this.GroupDescriptorCollectionFactory.CreateCollection();
     this.groupDescriptors.CollectionChanged += new NotifyCollectionChangedEventHandler(this.groupDescriptors_CollectionChanged);
 }
示例#9
0
 public DataItemComparer(SortDescriptorCollection sortContext)
 {
     this.sortContext = sortContext;
 }