DekGenius.com
[ Team LiB ] Previous Section Next Section

IBindingList

System.ComponentModel (system.dll)interface

This interface is implemented by classes such as System.Data.DataView that wish to support list-like data binding. It is derived from the standard collection interfaces to present basic collection facilities such as Add() and Remove().

In addition to this, it has properties that determine whether the class will AllowEdit or AllowNew items to be added. AllowRemove determines whether you can remove items from the list, and IsSorted determines whether the list items have been sorted. Note that this does not imply any kind of auto-sorting behavior—it just determines whether the list has been sorted. SupportsSorting determines whether the list can be sorted. For sorted lists, you can specify the SortDirection and the SortProperty (the property of the elements in the list that provides the sort data). To apply the sort, use the ApplySort() and RemoveSort() methods.

Methods are provided to AddNew() items to the list and Find() a row with a particular PropertyDescriptor.

You can also use AddIndex() and RemoveIndex() to manage indexes to improve the search capabilities of your list. Your particular class doesn't actually have to do anything in the implementation of these methods if it doesn't support indexes.

public interface IBindingList : IList, ICollection, IEnumerable {
// Public Instance Properties
   public bool AllowEdit{get; }
   public bool AllowNew{get; }
   public bool AllowRemove{get; }
   public bool IsSorted{get; }
   public ListSortDirection SortDirection{get; }
   public PropertyDescriptor SortProperty{get; }
   public bool SupportsChangeNotification{get; }
   public bool SupportsSearching{get; }
   public bool SupportsSorting{get; }
// Public Instance Methods
   public void AddIndex(PropertyDescriptor property);
   public object AddNew();
   public void ApplySort(PropertyDescriptor property, ListSortDirection direction);
   public int Find(PropertyDescriptor property, object key);
   public void RemoveIndex(PropertyDescriptor property);
   public void RemoveSort();
// Events
   public event ListChangedEventHandler ListChanged;
}
    [ Team LiB ] Previous Section Next Section