Class GenericBinaryTreeWithCounterCollection<V, C>
  
  A collection of items maintained in a binary tree
 
  
  
    Inheritance
    System.Object
    GenericBinaryTreeWithCounterCollection<V, C>
   
  
    Implements
    System.Collections.Generic.IList<V>
    System.Collections.Generic.ICollection<V>
    System.Collections.Generic.IEnumerable<V>
    System.Collections.IList
    System.Collections.ICollection
    System.Collections.IEnumerable
    System.IDisposable
    
    
    
    
   
  Inherited Members
      System.Object.Equals(System.Object)
    
      System.Object.Equals(System.Object, System.Object)
    
      System.Object.GetHashCode()
    
      System.Object.GetType()
    
      System.Object.MemberwiseClone()
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
      System.Object.ToString()
    
 
  
  Assembly: Syncfusion.SfGrid.WPF.dll
  Syntax
  
    public class GenericBinaryTreeWithCounterCollection<V, C> : IList<V>, ICollection<V>, IEnumerable<V>, IList, ICollection, IEnumerable, IDisposable, ISupportInitialize, IGenericBinaryTreeWithCounterCollection<V, C>, IGenericBinaryTreeWithSummaryCollection<V>, IGenericBinaryTreeCollection<V> where V : ITreeTableEntryHost, ITreeTableCounterSource where C : ITreeTableCounter
   
  Type Parameters
  
  Constructors
  
  
  
  
  GenericBinaryTreeWithCounterCollection(C, Boolean)
  
  
  Declaration
  
    public GenericBinaryTreeWithCounterCollection(C startPos, bool sorted)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | C | 
        startPos | 
         | 
      
      
        | System.Boolean | 
        sorted | 
         | 
      
    
  
  
  
  
  GenericBinaryTreeWithCounterCollection(GenericTreeTableWithCounter<V, C>)
  
  
  Declaration
  
    public GenericBinaryTreeWithCounterCollection(GenericTreeTableWithCounter<V, C> genericTree)
   
  Parameters
  
  Properties
  
  
  
  
  Count
  
  
  Declaration
  
    public int Count { get; }
   
  Property Value
  
  
  
  
  HasSummaries
  Indicates whether the tree has summaries.
 
  
  Declaration
  
    public bool HasSummaries { get; }
   
  Property Value
  
  
  
  
  Identifier
  
  
  Declaration
  
    public int Identifier { get; set; }
   
  Property Value
  
  
  
  
  IsFixedSize
  
  
  Declaration
  
    public bool IsFixedSize { get; }
   
  Property Value
  
  
  
  
  IsInitializing
  Indicates whether BeginInit was called.
 
  
  Declaration
  
    public bool IsInitializing { get; }
   
  Property Value
  
  
  
  
  IsReadOnly
  
  
  Declaration
  
    public bool IsReadOnly { get; }
   
  Property Value
  
  
  
  
  IsSynchronized
  
  
  Declaration
  
    public bool IsSynchronized { get; }
   
  Property Value
  
  
  
  
  Item[Int32]
  
  
  Declaration
  
    public V this[int index] { get; set; }
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
    
  
  Property Value
  
  
  
  
  SyncRoot
  
  
  Declaration
  
    public object SyncRoot { get; }
   
  Property Value
  
  
  
  
  Tag
  
  
  Declaration
  
    public object Tag { get; set; }
   
  Property Value
  
  Methods
  
  
  
  
  Add(V)
  
  
  Declaration
  
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        item | 
         | 
      
    
  
  Returns
  
  
  
  
  AddIfNotExists(Object, V)
  
  
  Declaration
  
    public V AddIfNotExists(object key, V item)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        key | 
         | 
      
      
        | V | 
        item | 
         | 
      
    
  
  Returns
  
  
  
  
  BeginInit()
  
  
  Declaration
  
  
  
  
  Clear()
  
  
  Declaration
  
  
  
  
  Contains(V)
  
  
  Declaration
  
    public bool Contains(V item)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        item | 
         | 
      
    
  
  Returns
  
  
  
  
  CopyTo(V[], Int32)
  
  
  Declaration
  
    public void CopyTo(V[] array, int arrayIndex)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V[] | 
        array | 
         | 
      
      
        | System.Int32 | 
        arrayIndex | 
         | 
      
    
  
  
  
  
  Dispose()
  Disposes of the object and releases internal objects.
 
  
  Declaration
  
  
  
  
  Dispose(Boolean)
  
  
  Declaration
  
    protected virtual void Dispose(bool isDisposing)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        isDisposing | 
         | 
      
    
  
  
  
  
  EndInit()
  
  
  Declaration
  
  
  
  
  FindHighestSmallerOrEqualKey(Object)
  
  
  Declaration
  
    public V FindHighestSmallerOrEqualKey(object key)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        key | 
         | 
      
    
  
  Returns
  
  
  
  
  FindKey(Object)
  
  
  Declaration
  
    public V FindKey(object key)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        key | 
         | 
      
    
  
  Returns
  
  
  
  
  GetCounterTotal()
  Returns the total of all counters in this tree.
 
  
  Declaration
  
    public C GetCounterTotal()
   
  Returns
  
  
  
  
  GetEnumerator()
  Returns an enumerator for the entire collection.
 
  
  Declaration
  
    public IEnumerator<V> GetEnumerator()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Collections.Generic.IEnumerator<V> | 
        An Enumerator for the entire collection. 
 | 
      
    
  
  
  
  
  
  
  GetItemAtCounterPosition(C, Int32)
  Overloaded. Returns an entry at the specified counter position. A cookie defines the type of counter.
 
  
  Declaration
  
    public V GetItemAtCounterPosition(C searchPosition, int cookie)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | C | 
        searchPosition | 
        The search position. 
 | 
      
      
        | System.Int32 | 
        cookie | 
        The cookie. 
 | 
      
    
  
  Returns
  
  
  
  
  GetItemAtCounterPosition(C, Int32, Boolean)
  Returns an entry at the specified counter position. A cookie defines the type of counter.
 
  
  Declaration
  
    public V GetItemAtCounterPosition(C searchPosition, int cookie, bool preferLeftMost)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | C | 
        searchPosition | 
        The search position. 
 | 
      
      
        | System.Int32 | 
        cookie | 
        The cookie. 
 | 
      
      
        | System.Boolean | 
        preferLeftMost | 
        Indicates if the leftmost entry should be returned if multiple tree elements have the
same searchPosition. 
 | 
      
    
  
  Returns
  
  
  
  
  GetNext(V)
  Returns the next item in the collection.
 
  
  Declaration
  
    public V GetNext(V current)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        current | 
         | 
      
    
  
  Returns
  
  
  
  
  GetNextNotEmptyCounterItem(V, Int32)
  Returns the subsequent entry in the collection for which the specific counter is not empty.
A cookie defines the type of counter.
 
  
  Declaration
  
    public V GetNextNotEmptyCounterItem(V current, int cookie)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        current | 
        The current. 
 | 
      
      
        | System.Int32 | 
        cookie | 
        The cookie. 
 | 
      
    
  
  Returns
  
  
  
  
  GetNextVisibleItem(V)
  Returns the next entry in the collection for which CountVisible counter is not empty.
 
  
  Declaration
  
    public V GetNextVisibleItem(V current)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        current | 
        The current. 
 | 
      
    
  
  Returns
  
  
  
  
  GetPrevious(V)
  Returns the previous item in the collection.
 
  
  Declaration
  
    public V GetPrevious(V current)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        current | 
         | 
      
    
  
  Returns
  
  
  
  
  GetPreviousNotEmptyCounterItem(V, Int32)
  Returns the previous entry in the collection for which the specific counter is not empty.
A cookie defines the type of counter.
 
  
  Declaration
  
    public V GetPreviousNotEmptyCounterItem(V current, int cookie)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        current | 
        The current. 
 | 
      
      
        | System.Int32 | 
        cookie | 
        The cookie. 
 | 
      
    
  
  Returns
  
  
  
  
  GetPreviousVisibleItem(V)
  Returns the previous entry in the collection for which CountVisible counter is not empty.
 
  
  Declaration
  
    public V GetPreviousVisibleItem(V current)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        current | 
        The current. 
 | 
      
    
  
  Returns
  
  
  
  
  GetStartCounterPosition()
  Returns the starting counter for this tree.
 
  
  Declaration
  
    public C GetStartCounterPosition()
   
  Returns
  
  
  
  
  GetSummaries(ITreeTableEmptySummaryArraySource)
  Returns an array of summary objects.
 
  
  Declaration
  
    public ITreeTableSummary[] GetSummaries(ITreeTableEmptySummaryArraySource emptySummaries)
   
  Parameters
  
  Returns
  
  
  
  
  IndexOf(V)
  
  
  Declaration
  
    public int IndexOf(V item)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        item | 
         | 
      
    
  
  Returns
  
  
  
  
  IndexOfKey(Object)
  
  
  Declaration
  
    public int IndexOfKey(object key)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        key | 
         | 
      
    
  
  Returns
  
  
  
  
  Insert(Int32, V)
  
  
  Declaration
  
    public void Insert(int index, V item)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
      
        | V | 
        item | 
         | 
      
    
  
  
  
  
  InvalidateCounterTopDown(Boolean)
  Marks all counters dirty.
 
  
  Declaration
  
    public void InvalidateCounterTopDown(bool notifyCounterSource)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        notifyCounterSource | 
         | 
      
    
  
  
  
  
  InvalidateSummariesTopDown(Boolean)
  Marks all summaries dirty.
 
  
  Declaration
  
    public void InvalidateSummariesTopDown(bool notifySummariesSource)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        notifySummariesSource | 
        if set to true notify summaries source. 
 | 
      
    
  
  
  
  
  RaiseEnsureInitialized(String)
  
  
  Declaration
  
    public void RaiseEnsureInitialized(string member)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.String | 
        member | 
         | 
      
    
  
  
  
  
  Remove(V)
  
  
  Declaration
  
    public bool Remove(V item)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        item | 
         | 
      
    
  
  Returns
  
  
  
  
  RemoveAt(Int32)
  
  
  Declaration
  
    public void RemoveAt(int index)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
    
  
  Events
  
  
  
  EnsureInitialized
  
  
  Declaration
  
    public event EventHandler<GenericTreeTableEnsureInitializedEventArgs> EnsureInitialized
   
  Event Type
  
  Explicit Interface Implementations
  
  
  
  
  ICollection<V>.Add(V)
  
  
  Declaration
  
    void ICollection<V>.Add(V item)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | V | 
        item | 
         | 
      
    
  
  
  
  
  ICollection.CopyTo(Array, Int32)
  
  
  Declaration
  
    void ICollection.CopyTo(Array array, int index)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Array | 
        array | 
         | 
      
      
        | System.Int32 | 
        index | 
         | 
      
    
  
  
  
  
  IEnumerable.GetEnumerator()
  
  
  Declaration
  
    IEnumerator IEnumerable.GetEnumerator()
   
  Returns
  
    
      
        | Type | 
        
      
    
    
      
        | System.Collections.IEnumerator | 
        
      
    
  
  
  
  
  IList.Add(Object)
  
  
  Declaration
  
    int IList.Add(object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        value | 
         | 
      
    
  
  Returns
  
  
  
  
  IList.Contains(Object)
  
  
  Declaration
  
    bool IList.Contains(object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        value | 
         | 
      
    
  
  Returns
  
  
  
  
  IList.get_Item(Int32)
  
  
  Declaration
  
    object IList.get_Item(int index)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
    
  
  Returns
  
  
  
  
  IList.IndexOf(Object)
  
  
  Declaration
  
    int IList.IndexOf(object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        value | 
         | 
      
    
  
  Returns
  
  
  
  
  IList.Insert(Int32, Object)
  
  
  Declaration
  
    void IList.Insert(int index, object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
      
        | System.Object | 
        value | 
         | 
      
    
  
  
  
  
  IList.Item[Int32]
  
  
  Declaration
  
    object IList.this[] { get; set; }
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
    
  
  Returns
  
  
  
  
  IList.Remove(Object)
  
  
  Declaration
  
    void IList.Remove(object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Object | 
        value | 
         | 
      
    
  
  
  
  
  IList.set_Item(Int32, Object)
  
  
  Declaration
  
    void IList.set_Item(int index, object value)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Int32 | 
        index | 
         | 
      
      
        | System.Object | 
        value | 
         | 
      
    
  
  Implements
  
      System.Collections.Generic.IList<T>
  
  
      System.Collections.Generic.ICollection<T>
  
  
      System.Collections.Generic.IEnumerable<T>
  
  
      System.Collections.IList
  
  
      System.Collections.ICollection
  
  
      System.Collections.IEnumerable
  
  
      System.IDisposable
  
  
  
  
  
  Extension Methods