menu

WinForms

  • Code Examples
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class Table - WindowsForms API Reference | Syncfusion

    Show / Hide Table of Contents

    Class Table

    Implements the functionalities that provides a flattened view of grouped and hierarchical records and manages all the records from the underlying source list.

    Inheritance
    System.Object
    Element
    Table
    GridTableBase
    Implements
    ITreeTableCounterSource
    ITreeTableSummaryArraySource
    System.IDisposable
    Inherited Members
    Element.ChildTableGroupLevel
    Element.Dispose()
    Element.Disposed
    Element.Disposing
    Element.EngineTable
    Element.EnsureInitialized(Object)
    Element.GetCaptionSection()
    Element.GetCaptionSection(Element)
    Element.GetChildCount()
    Element.GetColumnHeaderSection()
    Element.GetColumnHeaderSection(Element)
    Element.GetCounter()
    Element.GetCustomCount()
    Element.GetCustomPosition()
    Element.GetData()
    Element.GetFilterBar()
    Element.GetFilterBar(Element)
    Element.GetRecord()
    Element.GetRecord(Element)
    Element.GetSummaries(Table)
    Element.GetVisibleCustomCount()
    Element.GetVisibleCustomPosition()
    Element.GetVisibleInHierarchy()
    Element.GetVisibleInParent()
    Element.GroupLevel
    Element.Id
    Element.InDisposed
    Element.Info
    Element.InvalidateCounter()
    Element.InvalidateCounterBottomUp()
    Element.IsCaption()
    Element.IsCaption(Element)
    Element.IsChildVisible(Element)
    Element.IsColumnHeader()
    Element.IsColumnHeader(Element)
    Element.IsDisposed
    Element.IsFilterBar()
    Element.IsFilterBar(Element)
    Element.IsRecord()
    Element.IsRecord(Element)
    Element.ITreeTableSummaryArraySource.GetSummaries(ITreeTableEmptySummaryArraySource, Boolean)
    Element.Kind
    Element.OnBeginEditCalled()
    Element.OnBeginEditComplete(Boolean)
    Element.OnCancelEditCalled()
    Element.OnCancelEditComplete(Boolean)
    Element.OnDisposed(EventArgs)
    Element.OnElementTreeInvalidateCounterBottomUp()
    Element.OnEndEditCalled()
    Element.OnEndEditComplete(Boolean)
    Element.OnEnterRecordCalled()
    Element.OnEnterRecordComplete(Boolean)
    Element.OnLeaveRecordCalled()
    Element.OnLeaveRecordComplete(Boolean)
    Element.ParentChildTable
    Element.ParentDisplayElement
    Element.ParentElement
    Element.ParentGroup
    Element.ParentRecord
    Element.ParentSection
    Element.ParentTable
    Element.Reserved1
    Element.Reserved10
    Element.Reserved11
    Element.Reserved16a
    Element.Reserved16b
    Element.Reserved16c
    Element.Reserved2
    Element.Reserved3
    Element.Reserved4
    Element.Reserved5
    Element.Reserved6
    Element.Reserved7
    Element.Reserved8
    Element.Reserved9
    Element.SupportsId()
    Element.TableLevel
    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)
    Namespace: Syncfusion.Grouping
    Assembly: Syncfusion.Grouping.Base.dll
    Syntax
    public class Table : Element, IDisposedEvent, IIsDisposedProperty, ITreeTableCounterSource, ITreeTableSummaryArraySource, IContainerElement, IElementTreeTableSource, IElement, IDisposable
    Remarks

    The table manages all the records from the underlying source list. The source list can be any IList collection. If it implements IBindingList, the table will listen to the ListChangedEvent and update its internal data whenever changes are made to the source list.

    When the Table is initialized for the first time it will loop through all items in the source list and create a record object. The record object will be initialized with an index to the underlying source list item so that it can locate the item when you call its Record.GetData() property. Record.GetData() looks up the item in the underlying source list and returns a reference to it.

    Once a record object has been initialized, it will stay attached to the underlying item. When records are inserted or moved, this relation will stay intact. The only time this link between record and the underlying item is released is when the underlying item gets deleted from the source list. In that event, the record object gets disposed. A record's sorted record index within the table can at any time be determined with the Table.Records.IndexOf(record) method. This method will always return the accurate index respecting any insertions, movements, or changes that were made in the source list.

    When looping through the source list and initializing the records, the table also checks if categorization of data is necessary. When the TableDescriptor.RelationChildColumns or TableDescriptor.GroupedColumns collection are not empty, groups will be created for each new category.

    A table has one main group, the ITableSource. The ITableSource gives you access to a list of child groups and child records.

    The order of records and groups is defined by the TableDescriptor with schema information about the table. Once you make changes to the TableDescriptor, the table will be updated on demand the first time you try to access elements of the table after the change.

    There are multiple ways to get access to a specific record:

    • The UnsortedRecords collection of the Table class provides access to the records in the same order as they appear in the data source. The IndexOf(Record) method of a UnsortedRecordsCollection determines the index of any record in the underlying data source.
    • The Records collection of the Table class provides access to the records in the order as they were sorted in the engine. The IndexOf(Record) method of a RecordsInTableCollection determines the index of any record in the Table.Records collection.
    • The FilteredRecords collection of the Table class provides access to records that meet filter criteria in the order they were sorted in the engine. The IndexOf(Record) method of a RecordsInTableCollection determines the index of any record in the Table.FilteredRecords collection.
    • The Records collection of the Group class provides access to the records in the order they appear in the group. The IndexOf(String) method of a RecordsInDetailsCollection determines the index of any record in the Group.Records collection.
    • The FilteredRecords collection of the Group class provides access to the records in the order they appear in the group. The IndexOf(Record) method of a FilteredRecordsInDetailsCollection determines the index of any record in the Group.FilteredRecords collection.
    Any element in the table can be accessed using its element or display index. There are four collections that let you access elements:
    • The DisplayElements collection of the Table class provides access to the visible display elements. The IndexOf(Element) method of a DisplayElementsInTableCollection determines the visible index of any element in the table.

      With a GridGroupingControl, the index of display elements is the same as the row index in the grid. Therefore, given a row index of the grid you can easily determine the element that is to be shown at the specific row. Vice versa, if you do have an element, you can easily determine its row index with the IndexOf(Element) method. The DisplayElements collection does not step into a NestedTable element.

    • The NestedDisplayElements collection of the Table class provides access to the visible display elements and nested elements inside nested tables. The IndexOf(Element) method of a DisplayElementsInTableCollection determines the visible index of any element in the table.

      The NestedDisplayElements collection steps into a NestedTable element.

    • The Elements collection returns all elements of the Table in the order as they appear if they would be visible. Any element is returned, also records that are not visible in the DisplayElements collection because a parent group was collapsed are returned. The IndexOf(Element) method of a ElementsInTableCollection determines the index of any element in the Table.Elements collection.
    • The NestedElements collection returns all elements of the Table in the order as they appear if they would be visible and also steps into nested tables. The IndexOf(Element) method of a ElementsInTableCollection determines the index of any element in the Table.NestedElements collection.
    A table has a ITableSource or ITableSource which identifies the current record. The current record can be edited and navigated with the CurrentRecordManager.

    A table raises various events when changes are made to a record or when groups or records are collapsed or expanded. All events will bubble up to the parent engine object.

    If an engine displays hierarchical data, a Table is created for each table of the data source. With a DataSet for example, a Table is created for each DataTable in the DataSet.

    If a Table is a child table in a master-details relation, the table is grouped by the foreign key column. That way the parent table can get access to a group of records in the child table using the foreign key.

    Constructors

    Table(TableDescriptor, Table)

    Initializes a new instance of Table class that belongs to a TableDescriptor and optionally belongs to a parent table.

    Declaration
    public Table(TableDescriptor tableDescriptor, Table relationParentTable)
    Parameters
    Type Name Description
    TableDescriptor tableDescriptor

    The table descriptor with schema information about the table.

    Table relationParentTable

    The parent table of this table; NULL if this table is not a child table of a relation.

    Properties

    AddNewRecord

    Gets a reference to the AddNewRecord.

    Declaration
    public Record AddNewRecord { get; }
    Property Value
    Type
    Record

    AllowThreading

    Gets or sets a value indicating whether thread should be allowed or not. Experimental only! Set this to True if you want count to be calculated in a separate thread when all records are categorized. Set this flag only if you have a real multi-processor system. With single processor, systems calculating counts in a separate thread slows categorization down.

    Declaration
    public bool AllowThreading { get; set; }
    Property Value
    Type
    System.Boolean

    CategorizeElementsVersion

    Gets or sets CategorizeElementsVersion (int).

    Declaration
    public int CategorizeElementsVersion { get; set; }
    Property Value
    Type
    System.Int32

    ChangedFieldsArray

    Gets the Collection with detected changes in the data source when a ListChanged event is handled.

    Declaration
    public ChangedFieldInfoCollection ChangedFieldsArray { get; }
    Property Value
    Type
    ChangedFieldInfoCollection

    CountersDirty

    Gets or sets a value indicating if the counters are marked as dirty. If a table has counters marked dirty, any subsequent access to child elements (and a resulting OnEnsureInitialized(Object) call) will trigger a InvalidateCounterTopDown(Boolean) call and force reevaluation of all counters for all elements in the table.

    Declaration
    public bool CountersDirty { get; set; }
    Property Value
    Type
    System.Boolean

    CurrentElement

    Gets or sets the current element. Setting the current element will trigger a Navigate(Int32) call.

    Declaration
    public Element CurrentElement { get; set; }
    Property Value
    Type
    Element

    CurrentRecord

    Gets or sets the current record. When current element is not a Record, NULL is returned, (e.g. if element is a NestedTable). Setting the current record will trigger a Navigate(Int32) call.

    Declaration
    public Record CurrentRecord { get; set; }
    Property Value
    Type
    Record

    CurrentRecordManager

    Gets a reference to the CurrentRecordManager.

    Declaration
    public CurrentRecordManager CurrentRecordManager { get; }
    Property Value
    Type
    CurrentRecordManager

    DefaultCaptionRowHeight

    Gets or sets the default height (YAmount) of group caption rows.

    Declaration
    public virtual int DefaultCaptionRowHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultColumnHeaderRowHeight

    Gets or sets the default height (YAmount) of column header rows.

    Declaration
    public virtual int DefaultColumnHeaderRowHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultEmptySectionHeight

    Gets or sets the default height (YAmount) of empty section rows.

    Declaration
    public virtual int DefaultEmptySectionHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultFilterBarRowHeight

    Gets or sets the default height (YAmount) of filter bar rows.

    Declaration
    public virtual int DefaultFilterBarRowHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultGroupFooterSectionHeight

    Gets or sets the default height (YAmount) of group footer sections.

    Declaration
    public virtual int DefaultGroupFooterSectionHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultGroupHeaderSectionHeight

    Gets or sets the default height (YAmount) of group header sections.

    Declaration
    public virtual int DefaultGroupHeaderSectionHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultGroupPreviewSectionHeight

    Gets or sets the default height (YAmount) of group preview rows.

    Declaration
    public virtual int DefaultGroupPreviewSectionHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultIndentWidth

    Gets or sets the default width of group indents.

    Declaration
    public virtual int DefaultIndentWidth { get; set; }
    Property Value
    Type
    System.Int32

    DefaultRecordPreviewRowHeight

    Gets or sets the default height (YAmount) of record preview rows.

    Declaration
    public virtual int DefaultRecordPreviewRowHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultRecordRowHeight

    Gets or sets the default height (YAmount) of record rows.

    Declaration
    public virtual int DefaultRecordRowHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultRowHeaderWidth

    Gets or sets the default width of row headers.

    Declaration
    public virtual int DefaultRowHeaderWidth { get; set; }
    Property Value
    Type
    System.Int32

    DefaultSummaryRowHeight

    Gets or sets the default height (YAmount) of summary rows.

    Declaration
    public virtual int DefaultSummaryRowHeight { get; set; }
    Property Value
    Type
    System.Int32

    DefaultTableIndentWidth

    Gets or sets the default width of table indents.

    Declaration
    public virtual int DefaultTableIndentWidth { get; set; }
    Property Value
    Type
    System.Int32

    DisplayElements

    Gets a flat collection of visible elements in the table. All records, groups, and sections are only returned by this collection if they are expanded and meet filter criteria. The collection does not step into nested tables.

    Declaration
    public DisplayElementsInTableCollection DisplayElements { get; }
    Property Value
    Type
    DisplayElementsInTableCollection

    Elements

    Gets a flat collection of all elements in the table. All records, groups, and sections are returned by this collection no matter if they were expanded or meet filter criteria. The collection does not step into nested tables.

    Declaration
    public ElementsInTableCollection Elements { get; }
    Property Value
    Type
    ElementsInTableCollection

    EndIndex

    Gets or sets the value of end index

    Declaration
    public int EndIndex { get; set; }
    Property Value
    Type
    System.Int32

    Engine

    Gets the grouping engine.

    Declaration
    public override Engine Engine { get; }
    Property Value
    Type
    Engine
    Overrides
    Element.Engine

    EngineVersion

    Gets or sets the Version of the Engine.

    Declaration
    public int EngineVersion { get; set; }
    Property Value
    Type
    System.Int32

    FilteredChildTable

    Gets or sets a ChildTable. Setting this property forces the DisplayElements collection to return elements only for a specific child table. This property is used by the GridGroupingControl to quickly switch the context of table between child tables of different parent records when hierarchical data are displayed.

    Declaration
    public ChildTable FilteredChildTable { get; set; }
    Property Value
    Type
    ChildTable

    FilteredChildTableOrTopLevelGroup

    Gets the FilteredChildTable, if any or the TopLevelGroup if FilteredChildTable is null.

    Declaration
    public ChildTable FilteredChildTableOrTopLevelGroup { get; }
    Property Value
    Type
    ChildTable

    FilteredRecords

    Gets a Read-only collection of sorted Record elements that meet filter criteria and are children of a Table. See RecordFilterDescriptorCollection or RecordFilters for filter criteria. An instance of this collection is returned by the FilteredRecords property of a Table object.

    The collection provides support for determining a record's position in the grouped table using the IndexOf(Record) method.

    Declaration
    public FilteredRecordsInTableCollection FilteredRecords { get; }
    Property Value
    Type
    FilteredRecordsInTableCollection

    HasColumnChangeListener

    Determines a value indicating whether the table has subscribed to System.Data.DataTable.ColumnChanging or IGroupingColumnChanging events of the data source.

    Declaration
    public bool HasColumnChangeListener { get; }
    Property Value
    Type
    System.Boolean

    HasCurrentElement

    Determines if table has an active current element (either a Record or NestedTable).

    Declaration
    public bool HasCurrentElement { get; }
    Property Value
    Type
    System.Boolean

    HasCurrentRecord

    Determines if table has an active current element that is a Record (and not a NestedTable).

    Declaration
    public bool HasCurrentRecord { get; }
    Property Value
    Type
    System.Boolean

    HasSourceList

    Determines if a source has been attached to the table.

    Declaration
    public bool HasSourceList { get; }
    Property Value
    Type
    System.Boolean

    InInitialize

    Gets a value indicating whether the records are initialized or not. Returns True while records are categorized; False after.

    Declaration
    public bool InInitialize { get; }
    Property Value
    Type
    System.Boolean

    InSetSourceList

    Determines if source list setter was called.

    Declaration
    public bool InSetSourceList { get; }
    Property Value
    Type
    System.Boolean
    Remarks

    Returns True when SourceList setter was called and False after SourceList setter returns.

    InSourceListChanged

    Gets a value indicating whether if SourrceListCahnged event is raised or not.

    Declaration
    public bool InSourceListChanged { get; }
    Property Value
    Type
    System.Boolean
    Remarks

    Returns True when the SourceListChanged event is raised and False after it returns.

    InSourceListListChangedHandler

    Gets a value indicating whether the SourceListListChangedHandler is handled or not. Returns True while handling.

    Declaration
    public bool InSourceListListChangedHandler { get; }
    Property Value
    Type
    System.Boolean

    IsPassThroughGrouping

    Gets the value of isPassThroughGrouping.

    Declaration
    public bool IsPassThroughGrouping { get; }
    Property Value
    Type
    System.Boolean

    IsSorting

    For internal use. Gets a value indicating whether the table is sorting or not. For internal use.

    Declaration
    public bool IsSorting { get; }
    Property Value
    Type
    System.Boolean

    LastChangedRecord

    Gets or sets a reference to the most recently changed record.

    Declaration
    public Record LastChangedRecord { get; set; }
    Property Value
    Type
    Record

    NestedDisplayElements

    Gets a flat collection of visible elements in the table. All records, groups, and sections are only returned by this collection if they are expanded and meet filter criteria. The collection steps into nested tables.

    Declaration
    public DisplayElementsInTableCollection NestedDisplayElements { get; }
    Property Value
    Type
    DisplayElementsInTableCollection

    NestedElements

    Gets a flat collection of all elements in the table. All records, groups, and sections are returned by this collection no matter if they were expanded or meet filter criteria. The collection steps into nested tables.

    Declaration
    public ElementsInTableCollection NestedElements { get; }
    Property Value
    Type
    ElementsInTableCollection

    OriginalSourceList

    Gets the value of the original source list.

    Declaration
    public IEnumerable OriginalSourceList { get; }
    Property Value
    Type
    System.Collections.IEnumerable

    ParentTableDescriptor

    Gets the parent table descriptor.

    Declaration
    public override TableDescriptor ParentTableDescriptor { get; }
    Property Value
    Type
    TableDescriptor
    Overrides
    Element.ParentTableDescriptor

    PassThroughGroupingResult

    Gets the PassThroughGroupingResult for the table.

    Declaration
    public IPassThroughGroupingResult PassThroughGroupingResult { get; }
    Property Value
    Type
    IPassThroughGroupingResult

    PrimaryKeySortedRecords

    Gets a collection of "sorted by PrimaryKey" Record elements that are children of a Table and represent the original records in the same order as the underlying data source. The collection provides support for determining a record's underlying position in the data source using the IndexOf(String) method.

    An instance of this collection is returned by the PrimaryKeySortedRecords property of a Table object.

    Declaration
    public PrimaryKeySortedRecordsCollection PrimaryKeySortedRecords { get; }
    Property Value
    Type
    PrimaryKeySortedRecordsCollection

    Records

    Gets a Read-only collection of sorted Record elements that are children of a Table. An instance of this collection is returned by the Records property of a Table object. This collection contains all records, it is not filtered.

    The collection provides support for determining a record's position in the grouped table using the IndexOf(Record) method.

    Declaration
    public RecordsInTableCollection Records { get; }
    Property Value
    Type
    RecordsInTableCollection

    RecordsAsDisplayElements

    Gets or sets this True if you do not want the engine to treat Record and ColumnHeaderSection elements as ContainerElements and instead have these elements be returned as a display element in the Table.DisplayElements collection.

    Declaration
    public bool RecordsAsDisplayElements { get; set; }
    Property Value
    Type
    System.Boolean
    Remarks

    With a GridGroupingControl, you must not change this property since a GridGroupingControl relies on the behavior that a record is not a display element but a container for rows and nested tables.

    RelatedTables

    Gets a collection of related tables based on the TableDescriptor.Relations defined for this table.

    Declaration
    public TableCollection RelatedTables { get; }
    Property Value
    Type
    TableCollection

    RelationParentTable

    Gets the parent table of this table or NULL if this table is not a child table of a relation.

    Declaration
    public Table RelationParentTable { get; }
    Property Value
    Type
    Table

    SelectedRecords

    Gets a collection of selected Record elements that are children of a Table.

    Declaration
    public SelectedRecordsCollection SelectedRecords { get; }
    Property Value
    Type
    SelectedRecordsCollection

    SourceList

    Gets or sets a reference to the source list.

    Declaration
    public IList SourceList { get; set; }
    Property Value
    Type
    System.Collections.IList

    SourceListAllowEdit

    Determines if the source list allows editing records.

    Declaration
    public bool SourceListAllowEdit { get; }
    Property Value
    Type
    System.Boolean

    SourceListAllowNew

    Determines if the source list allows adding new records.

    Declaration
    public bool SourceListAllowNew { get; }
    Property Value
    Type
    System.Boolean

    SourceListAllowRemove

    Determines if the source list allows removing records.

    Declaration
    public bool SourceListAllowRemove { get; }
    Property Value
    Type
    System.Boolean

    SourceListVersion

    Gets or sets the source list version. The version is increased each time a change in a record in the data source is detected.

    Declaration
    public int SourceListVersion { get; set; }
    Property Value
    Type
    System.Int32

    StartIndex

    Gets or sets the value of Starting index.

    Declaration
    public int StartIndex { get; set; }
    Property Value
    Type
    System.Int32

    SummariesDirty

    Gets or sets a value indicating if summaries are marked as dirty. If a table has summaries marked dirty, any subsequent access to child elements (and a resulting OnEnsureInitialized(Object) call) will trigger a InvalidateSummariesTopDown() call and force reevaluation of all summaries for all elements in the table.

    Declaration
    public bool SummariesDirty { get; set; }
    Property Value
    Type
    System.Boolean

    TableDescriptor

    Gets the TableDescriptor with schema information about this table.

    Declaration
    public TableDescriptor TableDescriptor { get; }
    Property Value
    Type
    TableDescriptor

    TableDirty

    Gets or sets a value indicating if the table is marked as dirty. If a table is marked dirty, any subsequent access to child elements (and a resulting OnEnsureInitialized(Object) call) will trigger re-categorization of all records in the table.

    Declaration
    public bool TableDirty { get; set; }
    Property Value
    Type
    System.Boolean

    TableDirtyOnItemChanged

    Gets or sets TableDirty to true for all the tables(Including nested table) when item changed

    Declaration
    public bool TableDirtyOnItemChanged { get; set; }
    Property Value
    Type
    System.Boolean

    TableEventsTarget

    Gets or sets an object that handles events raised by this object.

    Declaration
    public ITableEventsTarget TableEventsTarget { get; set; }
    Property Value
    Type
    ITableEventsTarget

    TableNo

    Gets a unique id for the table in the parents engine object. Each nested table will have a different id.

    Declaration
    public int TableNo { get; }
    Property Value
    Type
    System.Int32

    TopLevelGroup

    Gets the main top-level group for the table. The TopLevelGroup is a ChildTable which is derived from Group.

    Declaration
    public ChildTable TopLevelGroup { get; }
    Property Value
    Type
    ChildTable

    UnsortedRecords

    Gets a collection of unsorted Record elements that are children of a Table and represent the original records in the same order as the underlying data source. The collection provides support for determining a record's underlying position in the data source using the IndexOf(Record) method.

    An instance of this collection is returned by the UnsortedRecords property of a Table object.

    Declaration
    public UnsortedRecordsCollection UnsortedRecords { get; }
    Property Value
    Type
    UnsortedRecordsCollection

    VirtualMode

    Gets or sets the value of virtual mode.

    Declaration
    public bool VirtualMode { get; set; }
    Property Value
    Type
    System.Boolean

    WithoutCounter

    Gets or sets the value of WithoutCounter.

    Declaration
    public bool WithoutCounter { get; set; }
    Property Value
    Type
    System.Boolean

    Methods

    AddChangedField(ChangedFieldInfo)

    Call this method to add ChangedFieldInfo objects with information about the new and old value of the column. The ChangedFieldInfo objects will then be checked in the LIstChanged event handler.

    Declaration
    public void AddChangedField(ChangedFieldInfo ci)
    Parameters
    Type Name Description
    ChangedFieldInfo ci

    The changed field information.

    AddChildTable()

    Adds the child table in tree table. For internal use.

    Declaration
    public ChildTable AddChildTable()
    Returns
    Type Description
    ChildTable

    Returns ChildTable.

    AddChildTableIfNotExists(Object[])

    Adds the child table if not exists in the table. For internal use.

    Declaration
    public ChildTable AddChildTableIfNotExists(object[] categoryKeys)
    Parameters
    Type Name Description
    System.Object[] categoryKeys
    Returns
    Type Description
    ChildTable

    Returns ChildTable.

    AddNew()

    Navigates to the AddNewRecord and calls BeginEdit().

    Declaration
    public void AddNew()

    BeginEdit()

    Switches the current record into edit mode. Raises CurrentRecordContextChange events on the Table.

    Declaration
    public void BeginEdit()

    bindingList_ListChanged(Object, ListChangedEventArgs)

    Handles the IBindingList.ListChanged event of the source list.

    Declaration
    protected virtual void bindingList_ListChanged(object sender, ListChangedEventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The source of the event.

    System.ComponentModel.ListChangedEventArgs e

    The event data.

    CancelEdit()

    Cancels editing for the current record. Changes in the current record are discarded. Raises CurrentRecordContextChange events on the Table.

    Declaration
    public void CancelEdit()

    ClearCollectionCaches()

    Increases the EngineVersion. Collection caches will be cleared since they compare the cache version counter with the engine version counter.

    Declaration
    public void ClearCollectionCaches()

    CollapseAllGroups()

    Collapses the top-level group and all nested groups.

    Declaration
    public void CollapseAllGroups()

    CollapseAllRecords()

    Collapses all records in the top-level group and all nested groups.

    Declaration
    public void CollapseAllRecords()

    CompareColumnSortOrder(Record, Record, Record, SortColumnDescriptor)

    Check if the changed value of the column affects the sort position of the record.

    Declaration
    public int CompareColumnSortOrder(Record r, Record previous, Record next, SortColumnDescriptor sd)
    Parameters
    Type Name Description
    Record r

    The current record

    Record previous

    The previous record

    Record next

    The next record

    SortColumnDescriptor sd

    The column to be tested

    Returns
    Type Description
    System.Int32

    -1 if column is not equal to previous or next value and sort order is valid; 0 if column is equal to previous or next value; 1 if column is not equal to previous or next value and sort order is invalid;.

    CompareGroupCategories(Group, Record)

    Determines whether if record still matches group category criteria.

    Declaration
    public bool CompareGroupCategories(Group g, Record r)
    Parameters
    Type Name Description
    Group g

    The Group.

    Record r

    The Record.

    Returns
    Type Description
    System.Boolean

    True if the record matches the group category; False otherwise.

    DeleteEmptyGroups(DetailsSection, out Group)

    Record will be moved to a new group. Check if old group only had that one record and should be deleted. The method does not delete the group, only returns the group to be deleted.

    Declaration
    public DetailsSection DeleteEmptyGroups(DetailsSection oldParentSection, out Group groupToDelete)
    Parameters
    Type Name Description
    DetailsSection oldParentSection

    Old parent section.

    Group groupToDelete

    Returns the group to delete.

    Returns
    Type Description
    DetailsSection

    Old group.

    DeleteRecord(Record)

    Removes a record from the data source.

    Declaration
    public void DeleteRecord(Record r)
    Parameters
    Type Name Description
    Record r

    The record to delete.

    Dispose(Boolean)

    Disposes the unmanaged resources.

    Declaration
    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    System.Boolean disposing
    Overrides
    Element.Dispose(Boolean)

    dt_RowDeleting(Object, DataRowChangeEventArgs)

    Removes the row.

    Declaration
    protected virtual void dt_RowDeleting(object sender, DataRowChangeEventArgs e)
    Parameters
    Type Name Description
    System.Object sender

    The source of the event.

    System.Data.DataRowChangeEventArgs e

    An System.Data.DataRowChangeEventArgs that contains the event data.

    EndEdit()

    Ends edit mode for the current record. If changes are detected, they will be saved to the underlying data source. Raises CurrentRecordContextChange events on the Table.

    Declaration
    public void EndEdit()

    EnsureInitialized(Object, Boolean)

    Determines whether the object, nested objects, and parent elements reflect any changes made to the engine or table descriptor. This is an integral part of the engine's "on-demand execution" of schema changes. Before elements in the engine are accessed, they call EnsureInitialized(Object, Boolean). If changes were previously made that affect the queried element, all changes will be applied at this time.

    Declaration
    public override bool EnsureInitialized(object sender, bool notifyParent)
    Parameters
    Type Name Description
    System.Object sender

    The object that triggered the call.

    System.Boolean notifyParent

    Specifies if the parent elements EnsureInitialized(Object, Boolean) should also be called.

    Returns
    Type Description
    System.Boolean

    True if changes were detected and the object was updated; False otherwise.

    Overrides
    Element.EnsureInitialized(Object, Boolean)

    ExpandAllGroups()

    Expands the top-level group and all nested groups.

    Declaration
    public void ExpandAllGroups()

    ExpandAllRecords()

    Expands all records in the top-level group and all nested groups.

    Declaration
    public void ExpandAllRecords()

    GetChangedFields()

    Gets the Collection with detected changes in the data source when a ListChanged event is handled.

    Declaration
    public ChangedFieldInfoCollection GetChangedFields()
    Returns
    Type Description
    ChangedFieldInfoCollection

    A collection of changed fields.

    GetDependantFields(Int32)

    Returns an array of field indexes that are dependent on changes to this field because they reference this field (e.g. an unbound field that is based on this value or a Expression field that references this field).

    Declaration
    public int[] GetDependantFields(int fieldIndex)
    Parameters
    Type Name Description
    System.Int32 fieldIndex

    Field index.

    Returns
    Type Description
    System.Int32[]

    Array of field indexes.

    GetElementCount()

    Gets the number of elements.

    Declaration
    public override int GetElementCount()
    Returns
    Type Description
    System.Int32

    Element count.

    Overrides
    Element.GetElementCount()

    GetEmptySummaries()

    Gets an array of empty ITreeTableSummary objects. For each SummaryDescriptor in this collection, an ITreeTableSummary is created by calling the SummaryDescriptor.CreateSummary method and passing in NULL as record.

    Declaration
    public ITreeTableSummary[] GetEmptySummaries()
    Returns
    Type Description
    ITreeTableSummary[]

    An array of ITreeTableSummary objects, one for each SummaryDescriptor in this collection.

    GetFilteredRecordCount()

    Gets the number of filtered records.

    Declaration
    public override int GetFilteredRecordCount()
    Returns
    Type Description
    System.Int32

    Filtered record count.

    Overrides
    Element.GetFilteredRecordCount()

    GetInnerMostCurrentElement()

    Returns the current element of this table. If it is a NestedTable element, it will return the current element of the related table.

    Declaration
    public Element GetInnerMostCurrentElement()
    Returns
    Type Description
    Element

    The current element

    Remarks

    This method only returns the current element, it does not change the FilteredChildTable property.

    GetRecordCount()

    Gets the number of records.

    Declaration
    public override int GetRecordCount()
    Returns
    Type Description
    System.Int32

    Record count.

    Overrides
    Element.GetRecordCount()

    GetRecordOrParentRecord(Element)

    If the specified element is a Record, it returns the element; if the element is a NestedTable, it returns the ParentRecord.

    Declaration
    public Record GetRecordOrParentRecord(Element el)
    Parameters
    Type Name Description
    Element el

    The element whose record should be returned.

    Returns
    Type Description
    Record

    Returns Record.

    GetSummaries()

    Declaration
    public ITreeTableSummary[] GetSummaries()
    Returns
    Type Description
    ITreeTableSummary[]

    Summary information.

    GetSummaries(Table, out Boolean)

    Gets summary information for this element and child elements. The summaries are in the same order as the Summaries of the parent table descriptor.

    Declaration
    public override ITreeTableSummary[] GetSummaries(Table parentTable, out bool summaryChanged)
    Parameters
    Type Name Description
    Table parentTable

    A reference to the parent table of this element.

    System.Boolean summaryChanged

    Returns True if changes were detected.

    Returns
    Type Description
    ITreeTableSummary[]

    An array of ITreeTableSummary objects.

    Overrides
    Element.GetSummaries(Table, out Boolean)

    GetValue(Object, PropertyDescriptor)

    A helper method that calls pd.GetValue(row) or gets the value directly from a DataRow using its name.

    Declaration
    public static object GetValue(object row, PropertyDescriptor pd)
    Parameters
    Type Name Description
    System.Object row

    The Data row.

    System.ComponentModel.PropertyDescriptor pd

    The Property descriptor.

    Returns
    Type Description
    System.Object

    Returns Value of the row.

    GetVisibleCount()

    Gets the number of visible elements.

    Declaration
    public override int GetVisibleCount()
    Returns
    Type Description
    System.Int32

    Visible element count.

    Overrides
    Element.GetVisibleCount()

    GetYAmountCount()

    Gets the element height.

    Declaration
    public override double GetYAmountCount()
    Returns
    Type Description
    System.Double

    Element height.

    Overrides
    Element.GetYAmountCount()

    InvalidateCounters(Element)

    Invalidate counters for parent elements of this elements bottom up.

    Declaration
    public void InvalidateCounters(Element el)
    Parameters
    Type Name Description
    Element el

    The element

    InvalidateCountersAndSummaries(Element, Boolean)

    Invalidate summaries and counters for parent elements of this elements bottom up.

    Declaration
    public void InvalidateCountersAndSummaries(Element el, bool forceCaptions)
    Parameters
    Type Name Description
    Element el

    The element.

    System.Boolean forceCaptions

    If true, resets the captions.

    InvalidateCounterTopDown(Boolean)

    Overridden to walk down to the child branches and resets the counters.

    Declaration
    public override void InvalidateCounterTopDown(bool notifyCounterSource)
    Parameters
    Type Name Description
    System.Boolean notifyCounterSource

    If true, notifies the counter source.

    Overrides
    Element.InvalidateCounterTopDown(Boolean)

    InvalidateSummaries(Element, Boolean)

    Invalidate summaries for parent elements of this elements bottom up.

    Declaration
    public void InvalidateSummaries(Element el, bool forceCaptions)
    Parameters
    Type Name Description
    Element el

    The element.

    System.Boolean forceCaptions

    If true, resets the captions.

    InvalidateSummariesBottomUp()

    Resets the summary for all elements.

    Declaration
    public override void InvalidateSummariesBottomUp()
    Overrides
    Element.InvalidateSummariesBottomUp()

    InvalidateSummariesTopDown()

    Overridden to reset the summary for all elements.

    Declaration
    public override void InvalidateSummariesTopDown()
    Overrides
    Element.InvalidateSummariesTopDown()

    InvalidateSummary()

    Resets the summary.

    Declaration
    public override void InvalidateSummary()
    Overrides
    Element.InvalidateSummary()

    IsCurrentRecord(Int32)

    Determines if the specified row index is child row of the current record.

    Declaration
    public bool IsCurrentRecord(int displayElementIndex)
    Parameters
    Type Name Description
    System.Int32 displayElementIndex

    The row index to be tested.

    Returns
    Type Description
    System.Boolean

    True if the row belongs to the current record; False otherwise.

    IsSameGroup(Group, Element)

    Determines if the specified element is a child or grandchild of a group.

    Declaration
    public bool IsSameGroup(Group g, Element r)
    Parameters
    Type Name Description
    Group g

    The parent group.

    Element r

    The element to be tested.

    Returns
    Type Description
    System.Boolean

    true if element is contained in group; false otherwise.

    IsSameRecord(Record, Int32)

    Determines if the row at the specified displayElementIndex is a child of the specified record.

    Declaration
    public bool IsSameRecord(Record r, int displayElementIndex)
    Parameters
    Type Name Description
    Record r

    The record to be tested.

    System.Int32 displayElementIndex

    The row index to be tested.

    Returns
    Type Description
    System.Boolean

    True if the row belongs to the record; False otherwise.

    NavigateCurrentRecordDown(Int32)

    Navigates the record up or down, the current element should not be deactivated if not valid, element should be scrolled into view. Raises CurrentRecordContextChange events on the Table.

    Declaration
    public Record NavigateCurrentRecordDown(int step)
    Parameters
    Type Name Description
    System.Int32 step

    The number of records to advance. Positive steps will move the record down, negative steps will move the record up.

    Returns
    Type Description
    Record

    The current record after navigation.

    NavigateCurrentRecordUp(Int32)

    Navigates the record up or down, the current element should not be deactivated if not valid, element should be scrolled into view. Raises CurrentRecordContextChange events on the Table.

    Declaration
    public Record NavigateCurrentRecordUp(int step)
    Parameters
    Type Name Description
    System.Int32 step

    The number of records to move up. Positive step will move the record up, negative steps will move the record down.

    Returns
    Type Description
    Record

    The current record after navigation.

    OnAddedRelatedTable(TableEventArgs)

    Raises the AddedRelatedTable event.

    Declaration
    protected virtual void OnAddedRelatedTable(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    A TableEventArgs that contains the event data.

    OnCategorizedRecords(TableEventArgs)

    Raises the CategorizedRecords event.

    Declaration
    protected virtual void OnCategorizedRecords(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    An TableEventArgs that contains the event data.

    OnCategorizingRecords(TableEventArgs)

    Raises the CategorizingRecords event.

    Declaration
    protected virtual void OnCategorizingRecords(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    An System.EventArgs that contains the event data.

    OnCurrentRecordContextChange(CurrentRecordContextChangeEventArgs)

    Raises the CurrentRecordContextChange event.

    Declaration
    protected virtual void OnCurrentRecordContextChange(CurrentRecordContextChangeEventArgs e)
    Parameters
    Type Name Description
    CurrentRecordContextChangeEventArgs e

    A CurrentRecordContextChangeEventArgs that contains the event data.

    OnCurrentRecordManagerReset(TableEventArgs)

    Raises the CurrentRecordManagerReset event.

    Declaration
    protected virtual void OnCurrentRecordManagerReset(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    An TableEventArgs that contains the event data.

    OnDefaultYAmountChanged(EventArgs)

    Raises the DefaultYAmountChanged event.

    Declaration
    protected virtual void OnDefaultYAmountChanged(EventArgs e)
    Parameters
    Type Name Description
    System.EventArgs e

    An System.EventArgs that contains the event data.

    OnDisplayElementChanged(DisplayElementChangedEventArgs)

    Raises the DisplayElementChanged event.

    Declaration
    protected virtual void OnDisplayElementChanged(DisplayElementChangedEventArgs e)
    Parameters
    Type Name Description
    DisplayElementChangedEventArgs e

    A DisplayElementChangedEventArgs that contains the event data.

    OnDisplayElementChanging(DisplayElementChangingEventArgs)

    Raises the DisplayElementChanging event.

    Declaration
    protected virtual void OnDisplayElementChanging(DisplayElementChangingEventArgs e)
    Parameters
    Type Name Description
    DisplayElementChangingEventArgs e

    A DisplayElementChangingEventArgs that contains the event data.

    OnEnsureInitialized(Object)

    This virtual method is called from OnEnsureInitialized(Object) and lets derived elements implement element-specific logic to ensure object is up to data.

    Declaration
    protected override bool OnEnsureInitialized(object sender)
    Parameters
    Type Name Description
    System.Object sender

    The object that triggered the EnsureInitialized(Object, Boolean) call.

    Returns
    Type Description
    System.Boolean

    True if changes were detected and the object was updated; False otherwise.

    Overrides
    Element.OnEnsureInitialized(Object)

    OnExceptionRaised(ExceptionRaisedEventArgs)

    Raises the ExceptionRaised event.

    Declaration
    protected virtual void OnExceptionRaised(ExceptionRaisedEventArgs e)
    Parameters
    Type Name Description
    ExceptionRaisedEventArgs e

    An ExceptionRaisedEventArgs that contains the event data.

    OnGroupAdded(GroupEventArgs)

    Raises the GroupAdded event.

    Declaration
    protected virtual void OnGroupAdded(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnGroupCollapsed(GroupEventArgs)

    Raises the GroupCollapsed event.

    Declaration
    protected virtual void OnGroupCollapsed(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnGroupCollapsing(GroupEventArgs)

    Raises the GroupCollapsing event.

    Declaration
    protected virtual void OnGroupCollapsing(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnGroupExpanded(GroupEventArgs)

    Raises the GroupExpanded event.

    Declaration
    protected virtual void OnGroupExpanded(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnGroupExpanding(GroupEventArgs)

    Raises the GroupExpanding event.

    Declaration
    protected virtual void OnGroupExpanding(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnGroupRemoving(GroupEventArgs)

    Raises the GroupRemoving event.

    Declaration
    protected virtual void OnGroupRemoving(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnGroupSummaryInvalidated(GroupEventArgs)

    Raises the GroupSummaryInvalidated event.

    Declaration
    protected virtual void OnGroupSummaryInvalidated(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnInvalidatingCounters(TableEventArgs)

    Raises the InvalidatingCounters event.

    Declaration
    protected virtual void OnInvalidatingCounters(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    A TableEventArgs that contains the event data.

    OnInvalidatingSummaries(TableEventArgs)

    Raises the InvalidatingSummaries event.

    Declaration
    protected virtual void OnInvalidatingSummaries(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    A TableEventArgs that contains the event data.

    OnPopulatedChildTable(ChildTable)

    Create the populated child table.

    Declaration
    protected virtual void OnPopulatedChildTable(ChildTable childTable)
    Parameters
    Type Name Description
    ChildTable childTable

    An instance of the ChildTable class.

    OnPrepareItemAdded(Object)

    This virtual method is called when a row was added in the underlying data source.

    Declaration
    protected virtual void OnPrepareItemAdded(object row)
    Parameters
    Type Name Description
    System.Object row

    The row value

    OnPrepareRemoving(Object)

    This virtual method gets called before a row is removed from the underlying data source.

    Declaration
    protected virtual void OnPrepareRemoving(object row)
    Parameters
    Type Name Description
    System.Object row

    The row value

    OnQueryCustomCount(CustomCountEventArgs)

    Raises the QueryCustomCount event.

    Declaration
    protected virtual void OnQueryCustomCount(CustomCountEventArgs e)
    Parameters
    Type Name Description
    CustomCountEventArgs e

    A CustomCountEventArgs that contains the event data.

    OnQueryVisibleCustomCount(CustomCountEventArgs)

    Raises the QueryVisibleCustomCount event.

    Declaration
    protected virtual void OnQueryVisibleCustomCount(CustomCountEventArgs e)
    Parameters
    Type Name Description
    CustomCountEventArgs e

    A CustomCountEventArgs that contains the event data.

    OnRecordChanged(Element, Boolean, Boolean)

    This virtual method is called from the new ListChanged handler when a record was added, removed or changed. It is called after the record was detached or attached to a new group and before counters in parent elements are marked. Override this method if you want to update for example your custom manual summaries in parent groups as shown in ManualSummaries example.

    Declaration
    protected virtual void OnRecordChanged(Element r, bool isObsoleteRecord, bool isAddedRecord)
    Parameters
    Type Name Description
    Element r
    System.Boolean isObsoleteRecord
    System.Boolean isAddedRecord

    OnRecordCollapsed(RecordEventArgs)

    Raises the RecordCollapsed event.

    Declaration
    protected virtual void OnRecordCollapsed(RecordEventArgs e)
    Parameters
    Type Name Description
    RecordEventArgs e

    A RecordEventArgs that contains the event data.

    OnRecordCollapsing(RecordEventArgs)

    Raises the RecordCollapsing event.

    Declaration
    protected virtual void OnRecordCollapsing(RecordEventArgs e)
    Parameters
    Type Name Description
    RecordEventArgs e

    A RecordEventArgs that contains the event data.

    OnRecordDeleted(RecordEventArgs)

    Raises the RecordDeleted event.

    Declaration
    protected virtual void OnRecordDeleted(RecordEventArgs e)
    Parameters
    Type Name Description
    RecordEventArgs e

    A RecordEventArgs that contains the event data.

    OnRecordDeleting(RecordEventArgs)

    Raises the RecordDeleting event.

    Declaration
    protected virtual void OnRecordDeleting(RecordEventArgs e)
    Parameters
    Type Name Description
    RecordEventArgs e

    A RecordEventArgs that contains the event data.

    OnRecordExpanded(RecordEventArgs)

    Raises the RecordExpanded event.

    Declaration
    protected virtual void OnRecordExpanded(RecordEventArgs e)
    Parameters
    Type Name Description
    RecordEventArgs e

    A RecordEventArgs that contains the event data.

    OnRecordExpanding(RecordEventArgs)

    Raises the RecordExpanding event.

    Declaration
    protected virtual void OnRecordExpanding(RecordEventArgs e)
    Parameters
    Type Name Description
    RecordEventArgs e

    A RecordEventArgs that contains the event data.

    OnRecordValueChanged(RecordValueChangedEventArgs)

    Raises the RecordValueChanged event.

    Declaration
    protected virtual void OnRecordValueChanged(RecordValueChangedEventArgs e)
    Parameters
    Type Name Description
    RecordValueChangedEventArgs e

    A RecordValueChangedEventArgs that contains the event data.

    OnRecordValueChanging(RecordValueChangingEventArgs)

    Raises the RecordValueChanging event.

    Declaration
    protected virtual void OnRecordValueChanging(RecordValueChangingEventArgs e)
    Parameters
    Type Name Description
    RecordValueChangingEventArgs e

    A RecordValueChangingEventArgs that contains the event data.

    OnRelatedTableSourceListListChanged(TableListChangedEventArgs)

    This virtual method is called before a related child or grandchild table raises a SourceListListChanged event.

    Declaration
    public virtual void OnRelatedTableSourceListListChanged(TableListChangedEventArgs e)
    Parameters
    Type Name Description
    TableListChangedEventArgs e

    A TableListChangedEventArgs that contains the event data.

    Remarks

    The method calls the SourceListVersion of this table.

    OnRelatedTableSourceListListChangedCompleted(TableListChangedEventArgs)

    This virtual method is called before a related child or grandchild table raises a SourceListListChangedCompleted event.

    Declaration
    public virtual void OnRelatedTableSourceListListChangedCompleted(TableListChangedEventArgs e)
    Parameters
    Type Name Description
    TableListChangedEventArgs e

    A TableListChangedEventArgs that contains the event data.

    Remarks

    The method calls the SourceListVersion of this table.

    OnRemovingRelatedTable(TableEventArgs)

    Raises the RemovingRelatedTable event.

    Declaration
    protected virtual void OnRemovingRelatedTable(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    A TableEventArgs that contains the event data.

    OnSelectedRecordsChanged(SelectedRecordsChangedEventArgs)

    Raises the SelectedRecordsChanged event.

    Declaration
    protected virtual void OnSelectedRecordsChanged(SelectedRecordsChangedEventArgs e)
    Parameters
    Type Name Description
    SelectedRecordsChangedEventArgs e

    A SelectedRecordsChangedEventArgs that contains the event data.

    OnSelectedRecordsChanging(SelectedRecordsChangedEventArgs)

    Raises the SelectedRecordsChanging event.

    Declaration
    protected virtual void OnSelectedRecordsChanging(SelectedRecordsChangedEventArgs e)
    Parameters
    Type Name Description
    SelectedRecordsChangedEventArgs e

    A SelectedRecordsChangedEventArgs that contains the event data.

    OnSortedItemsInGroup(GroupEventArgs)

    Raises the SortedItemsInGroup event.

    Declaration
    protected virtual void OnSortedItemsInGroup(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    A GroupEventArgs that contains the event data.

    OnSortingItemsInGroup(GroupEventArgs)

    Raises the SortingItemsInGroup event.

    Declaration
    protected virtual void OnSortingItemsInGroup(GroupEventArgs e)
    Parameters
    Type Name Description
    GroupEventArgs e

    An GroupEventArgs that contains the event data.

    OnSourceListChanged(TableEventArgs)

    Raises the SourceListChanged event.

    Declaration
    protected virtual void OnSourceListChanged(TableEventArgs e)
    Parameters
    Type Name Description
    TableEventArgs e

    An System.EventArgs that contains the event data.

    OnSourceListItemAdded(Object, ListChangedEventArgs, TableListChangedEventArgs)

    Virtual method is called when a ListChanged event is handled and ListChangedType is ItemAdded. The method is only called if UseOldListChangedHandler is false.

    Declaration
    protected virtual void OnSourceListItemAdded(object sender, ListChangedEventArgs e, TableListChangedEventArgs te)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.ListChangedEventArgs e
    TableListChangedEventArgs te

    OnSourceListItemChanged(Object, ListChangedEventArgs, TableListChangedEventArgs)

    Virtual method is called when a ListChanged event is handled and ListChangedType is ItemChanged. The method is only called if UseOldListChangedHandler is false.

    Declaration
    protected virtual void OnSourceListItemChanged(object sender, ListChangedEventArgs e, TableListChangedEventArgs te)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.ListChangedEventArgs e
    TableListChangedEventArgs te

    OnSourceListItemDeleted(Object, ListChangedEventArgs, TableListChangedEventArgs)

    Virtual method is called when a ListChanged event is handled and ListChangedType is ItemDeleted. The method is only called if UseOldListChangedHandler is false.

    Declaration
    protected virtual void OnSourceListItemDeleted(object sender, ListChangedEventArgs e, TableListChangedEventArgs te)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.ListChangedEventArgs e
    TableListChangedEventArgs te

    OnSourceListItemMoved(Object, ListChangedEventArgs, TableListChangedEventArgs)

    Virtual method is called when a ListChanged event is handled and ListChangedType is ItemMoved. The method is only called if UseOldListChangedHandler is false.

    Declaration
    protected virtual void OnSourceListItemMoved(object sender, ListChangedEventArgs e, TableListChangedEventArgs te)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.ListChangedEventArgs e
    TableListChangedEventArgs te

    OnSourceListListChanged(TableListChangedEventArgs)

    Raises the SourceListListChanged event.

    Declaration
    protected virtual void OnSourceListListChanged(TableListChangedEventArgs e)
    Parameters
    Type Name Description
    TableListChangedEventArgs e

    A TableListChangedEventArgs that contains the event data.

    OnSourceListListChangedCompleted(TableListChangedEventArgs)

    Raises the SourceListListChangedCompleted event.

    Declaration
    protected virtual void OnSourceListListChangedCompleted(TableListChangedEventArgs e)
    Parameters
    Type Name Description
    TableListChangedEventArgs e

    A TableListChangedEventArgs that contains the event data.

    OnSourceListPropertyDescriptorChanged(Object, ListChangedEventArgs, TableListChangedEventArgs)

    Virtual method is called when a ListChanged event is handled and ListChangedType is PropertyDescriptorChanged. The method is only called if UseOldListChangedHandler is false.

    Declaration
    protected virtual void OnSourceListPropertyDescriptorChanged(object sender, ListChangedEventArgs e, TableListChangedEventArgs te)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.ListChangedEventArgs e
    TableListChangedEventArgs te

    OnSourceListRecordChanged(RecordChangedEventArgs)

    Raises the SourceListRecordChanged event.

    Declaration
    protected virtual void OnSourceListRecordChanged(RecordChangedEventArgs e)
    Parameters
    Type Name Description
    RecordChangedEventArgs e

    A RecordChangedEventArgs that contains the event data.

    OnSourceListRecordChanging(RecordChangedEventArgs)

    Raises the SourceListRecordChanging event.

    Declaration
    protected virtual void OnSourceListRecordChanging(RecordChangedEventArgs e)
    Parameters
    Type Name Description
    RecordChangedEventArgs e

    A RecordChangedEventArgs that contains the event data.

    OnSourceListReset(Object, ListChangedEventArgs, TableListChangedEventArgs)

    Virtual method is called when a ListChanged event is handled and ListChangedType is Reset. The method is only called if UseOldListChangedHandler is false.

    Declaration
    protected virtual void OnSourceListReset(object sender, ListChangedEventArgs e, TableListChangedEventArgs te)
    Parameters
    Type Name Description
    System.Object sender
    System.ComponentModel.ListChangedEventArgs e
    TableListChangedEventArgs te

    PopulatePassThroughGroup(Group, IEnumerable, Record)

    Populates groups on demand.

    Declaration
    public void PopulatePassThroughGroup(Group group, IEnumerable items, Record parentRecord)
    Parameters
    Type Name Description
    Group group

    The Group.

    System.Collections.IEnumerable items

    Items for a given group.

    Record parentRecord

    Parent record.

    PopulatePassThroughGroupIfEmpty(Group)

    Populates groups on demand.

    Declaration
    public void PopulatePassThroughGroupIfEmpty(Group group)
    Parameters
    Type Name Description
    Group group

    The Group.

    PopulateRecordChildTablesIfEmpty(Record)

    Checks whether the record has nested tables that have not been populated. If this is the case the method will retrieve the nested collection items from the property (if UniformChildList) or from the IPassThroughGroupingResult.GetNestedItems method, create the child list, set its SourceList and add entries to the child lists details section.

    Declaration
    public void PopulateRecordChildTablesIfEmpty(Record record)
    Parameters
    Type Name Description
    Record record

    The Record.

    RaiseDefaultYAmountChanged()

    Raises the DefaultYAmountChanged event.

    Declaration
    public void RaiseDefaultYAmountChanged()

    RaiseDisplayElementChanged(Element, Int32, Int32, Boolean, Boolean, Boolean)

    Raises the DisplayElementChanged event.

    Declaration
    public void RaiseDisplayElementChanged(Element element, int oldCount, int newCount, bool repaintElement, bool syncCurrentRecordPos, bool leaveCurrentRecord)
    Parameters
    Type Name Description
    Element element

    The affected element can be the whole table.

    System.Int32 oldCount

    The old display element count of the affected element. Can be -1.

    System.Int32 newCount

    The new display element count of the affected element. Can be -1.

    System.Boolean repaintElement

    Indicates if element needs repainting.

    System.Boolean syncCurrentRecordPos

    Indicates if current record position should be saved and restored.

    System.Boolean leaveCurrentRecord

    Indicates if current record should be deactivated.

    RaiseDisplayElementChanged(Element, Int32, Int32, Boolean, Boolean, Boolean, Boolean)

    Raises the DisplayElementChanged event.

    Declaration
    public void RaiseDisplayElementChanged(Element element, int oldCount, int newCount, bool repaintElement, bool syncCurrentRecordPos, bool leaveCurrentRecord, bool scroll)
    Parameters
    Type Name Description
    Element element

    The affected element can be the whole table.

    System.Int32 oldCount

    The old display element count of the affected element. Can be -1.

    System.Int32 newCount

    The new display element count of the affected element. Can be -1.

    System.Boolean repaintElement

    Indicates if element needs repainting.

    System.Boolean syncCurrentRecordPos

    Indicates if current record position should be saved and restored.

    System.Boolean leaveCurrentRecord

    Indicates if current record should be deactivated.

    System.Boolean scroll

    Indicates if current record should be scrolled into view.

    RaiseDisplayElementChanging(Element, Int32, Int32, Boolean, Boolean, Boolean)

    Raises the DisplayElementChanging event.

    Declaration
    public bool RaiseDisplayElementChanging(Element element, int oldCount, int newCount, bool repaintElement, bool syncCurrentRecordPos, bool leaveCurrentRecord)
    Parameters
    Type Name Description
    Element element

    The affected element can be the whole table.

    System.Int32 oldCount

    The old display element count of the affected element. Can be -1.

    System.Int32 newCount

    The new display element count of the affected element. Can be -1.

    System.Boolean repaintElement

    Indicates if element needs repainting.

    System.Boolean syncCurrentRecordPos

    Indicates if current record position should be saved and restored.

    System.Boolean leaveCurrentRecord

    Indicates if current record should be deactivated.

    Returns
    Type Description
    System.Boolean

    true if the event should be canceled; otherwise, false

    RaiseDisplayElementChanging(Element, Int32, Int32, Boolean, Boolean, Boolean, Boolean)

    Raises the DisplayElementChanging event.

    Declaration
    public bool RaiseDisplayElementChanging(Element element, int oldCount, int newCount, bool repaintElement, bool syncCurrentRecordPos, bool leaveCurrentRecord, bool scroll)
    Parameters
    Type Name Description
    Element element

    The affected element can be the whole table.

    System.Int32 oldCount

    The old display element count of the affected element. Can be -1.

    System.Int32 newCount

    The new display element count of the affected element. Can be -1.

    System.Boolean repaintElement

    Indicates if element needs repainting.

    System.Boolean syncCurrentRecordPos

    Indicates if current record position should be saved and restored.

    System.Boolean leaveCurrentRecord

    Indicates if current record should be deactivated.

    System.Boolean scroll

    Indicates if current record should be scrolled into view.

    Returns
    Type Description
    System.Boolean

    true if the event should be canceled; otherwise, false

    RaiseRecordValueChanged(RecordValueChangedEventArgs)

    Raises the RecordValueChanged event.

    Declaration
    public void RaiseRecordValueChanged(RecordValueChangedEventArgs e)
    Parameters
    Type Name Description
    RecordValueChangedEventArgs e

    A RecordValueChangedEventArgs that contains the event data.

    RaiseRecordValueChanging(RecordValueChangingEventArgs)

    Raises the RecordValueChanging event.

    Declaration
    public void RaiseRecordValueChanging(RecordValueChangingEventArgs e)
    Parameters
    Type Name Description
    RecordValueChangingEventArgs e

    A RecordValueChangingEventArgs that contains the event data.

    Reload()

    Sets the table dirty (TableDirty) and increases the engine and source list version counter.

    Declaration
    public void Reload()

    ResetCurrentRecord()

    Deactivates the current record, saves pending changes.

    Declaration
    public void ResetCurrentRecord()

    ShouldCacheRecordData()

    Method is called when the table tries to determine whether a record's underlying data row can be cached within Record objects.

    Declaration
    protected virtual bool ShouldCacheRecordData()
    Returns
    Type Description
    System.Boolean

    True if record's underlying data row can be cached within Record objects; False otherwise.

    ShowRecord(Element, Boolean)

    Expands all parent groups and grandparent groups of the element until it becomes shown in the DisplayElements collection.

    Declaration
    public void ShowRecord(Element r, bool raiseDisplayElementChangeEvents)
    Parameters
    Type Name Description
    Element r

    The element to be shown.

    System.Boolean raiseDisplayElementChangeEvents

    True if DisplayElementChanging and DisplayElementChanged events should be raised; False otherwise.

    ShowRecord(Record, Boolean)

    Expands all parent groups and grandparent groups of the element until it becomes shown in the DisplayElements collection.

    Declaration
    public void ShowRecord(Record r, bool raiseDisplayElementChangeEvents)
    Parameters
    Type Name Description
    Record r

    The element to be shown.

    System.Boolean raiseDisplayElementChangeEvents

    True if DisplayElementChanging and DisplayElementChanged events should be raised; False otherwise.

    SimulateListChanged(ListChangedEventArgs)

    Fakes an System.ComponentModel.IBindingList.ListChanged event.

    Declaration
    public void SimulateListChanged(ListChangedEventArgs e)
    Parameters
    Type Name Description
    System.ComponentModel.ListChangedEventArgs e

    The System.ComponentModel.IBindingList.ListChangedEventArgs holds the event data.

    SimulateListChangedWithSourceList(IList, Group, ListChangedEventArgs)

    Used by ChildTable in UniformChildList relations to forward IBindingList.ListChanged event from a nested collection.

    Declaration
    public void SimulateListChangedWithSourceList(IList sourceList, Group ct, ListChangedEventArgs e)
    Parameters
    Type Name Description
    System.Collections.IList sourceList

    The source list.

    Group ct

    The group.

    System.ComponentModel.ListChangedEventArgs e

    The System.ComponentModel.IBindingList.ListChangedEventArgs holds the event data.

    ToString()

    Overridden to return a string holding the element.

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String

    String representation of the current object.

    Overrides
    Element.ToString()

    UnwireList()

    Is called to unwire events from source list before source list is replaced.

    Declaration
    protected virtual void UnwireList()

    UnwireTableDescriptor()

    Unwires events for the TableDescriptor

    Declaration
    protected virtual void UnwireTableDescriptor()

    WireList()

    Wires the events to source list after source list is attached.

    Declaration
    protected virtual void WireList()

    WireTableDescriptor()

    Wires events for the TableDescriptor

    Declaration
    protected virtual void WireTableDescriptor()

    Events

    AddedRelatedTable

    Occurs after the related table was added to the RelatedTables collection.

    Declaration
    public event TableEventHandler AddedRelatedTable
    Event Type
    Type
    TableEventHandler

    CategorizedRecords

    Occurs after records are categorized after a table is marked dirty (TableDirty).

    Declaration
    public event TableEventHandler CategorizedRecords
    Event Type
    Type
    TableEventHandler
    Remarks

    When TableDirty is set True, e.g. because schema information for a table was changed or because the grouped columns were changed, the table will categorize records on demand the first time information about a record is accessed. At that time, the EnsureInitialized(Object, Boolean) will start categorization.

    CategorizingRecords

    Occurs before records are categorized after a table is marked dirty (TableDirty).

    Declaration
    public event TableEventHandler CategorizingRecords
    Event Type
    Type
    TableEventHandler
    Remarks

    When TableDirty is set True, e.g. because schema information for a table was changed or because the grouped columns were changed, the table will categorize records on demand the first time information about a record is accessed. At that time, the EnsureInitialized(Object, Boolean) will start categorization.

    CurrentRecordContextChange

    Occurs before and after the status of the current record was changed. Check the CurrentRecordContextChange of the CurrentRecordContextChangeEventArgs to get information which current record state was changed.

    Declaration
    public event CurrentRecordContextChangeEventHandler CurrentRecordContextChange
    Event Type
    Type
    CurrentRecordContextChangeEventHandler

    CurrentRecordManagerReset

    Occurs when the Reset() method of the CurrentRecordManager is called.

    Declaration
    public event EventHandler CurrentRecordManagerReset
    Event Type
    Type
    System.EventHandler
    Remarks

    The GridGroupingControl listens to this event and resets any "Current Cell" state when this event is raised.

    DefaultYAmountChanged

    Occurs when the RaiseDefaultYAmountChanged() is called.

    Declaration
    public event EventHandler DefaultYAmountChanged
    Event Type
    Type
    System.EventHandler

    DisplayElementChanged

    Occurs when number of visible elements were changed.

    Declaration
    public event DisplayElementChangedEventHandler DisplayElementChanged
    Event Type
    Type
    DisplayElementChangedEventHandler

    DisplayElementChanging

    Occurs when number of visible elements are changing.

    Declaration
    public event DisplayElementChangingEventHandler DisplayElementChanging
    Event Type
    Type
    DisplayElementChangingEventHandler

    ExceptionRaised

    Occurs when an unknown exception has been cached while modifying underlying data in the data source.

    Declaration
    public event ExceptionRaisedEventHandler ExceptionRaised
    Event Type
    Type
    ExceptionRaisedEventHandler
    Remarks

    If necessary, you can re-throw the exception in your event handler.

    GroupAdded

    Occurs when a new group is added in a table after the table was categorized and when a record is changed. The event does not occur during categorization of the table. See the CategorizedRecords elements to when categorization finished.

    Declaration
    public event GroupEventHandler GroupAdded
    Event Type
    Type
    GroupEventHandler

    GroupCollapsed

    Occurs after a group is collapsed.

    Declaration
    public event GroupEventHandler GroupCollapsed
    Event Type
    Type
    GroupEventHandler

    GroupCollapsing

    Occurs before a group is collapsed.

    Declaration
    public event GroupEventHandler GroupCollapsing
    Event Type
    Type
    GroupEventHandler

    GroupExpanded

    Occurs after a group is expanded.

    Declaration
    public event GroupEventHandler GroupExpanded
    Event Type
    Type
    GroupEventHandler

    GroupExpanding

    Occurs before a group is expanded.

    Declaration
    public event GroupEventHandler GroupExpanding
    Event Type
    Type
    GroupEventHandler

    GroupRemoving

    Occurs when a group was removed from a table after the table was categorized and when a record is changed. The event does not occur during categorization of the table. See the CategorizedRecords elements to when categorization finished.

    Declaration
    public event GroupEventHandler GroupRemoving
    Event Type
    Type
    GroupEventHandler

    GroupSummaryInvalidated

    Occurs when a summary has been marked dirty.

    Declaration
    public event GroupEventHandler GroupSummaryInvalidated
    Event Type
    Type
    GroupEventHandler
    Remarks

    The GridGroupingControl listens to this event and will force a repaint of the specified summary if it is visible when this event was raised.

    InvalidatingCounters

    Occurs when the InvalidateCounterTopDown(Boolean) of a Table is called and before all counters are marked dirty.

    Declaration
    public event TableEventHandler InvalidatingCounters
    Event Type
    Type
    TableEventHandler

    InvalidatingSummaries

    Occurs when the InvalidateSummariesTopDown() of a Table is called and before all summaries in that table are marked dirty.

    Declaration
    public event TableEventHandler InvalidatingSummaries
    Event Type
    Type
    TableEventHandler

    QueryCustomCount

    Occurs when the custom counter value for a record is queried. See the Grid.Grouping\Samples\CustomSummary. example.

    Declaration
    public event CustomCountEventHandler QueryCustomCount
    Event Type
    Type
    CustomCountEventHandler

    QueryVisibleCustomCount

    Occurs when the visible custom counter value for a record is queried. See the Grid.Grouping\Samples\CustomSummary. example.

    Declaration
    public event CustomCountEventHandler QueryVisibleCustomCount
    Event Type
    Type
    CustomCountEventHandler

    RecordCollapsed

    Occurs after a record with nested tables is collapsed.

    Declaration
    public event RecordEventHandler RecordCollapsed
    Event Type
    Type
    RecordEventHandler

    RecordCollapsing

    Occurs before a record with nested tables is collapsed.

    Declaration
    public event RecordEventHandler RecordCollapsing
    Event Type
    Type
    RecordEventHandler

    RecordDeleted

    Occurs after a record is deleted.

    Declaration
    public event RecordEventHandler RecordDeleted
    Event Type
    Type
    RecordEventHandler

    RecordDeleting

    Occurs before a record is deleted.

    Declaration
    public event RecordEventHandler RecordDeleting
    Event Type
    Type
    RecordEventHandler

    RecordExpanded

    Occurs after a record with nested tables is expanded.

    Declaration
    public event RecordEventHandler RecordExpanded
    Event Type
    Type
    RecordEventHandler

    RecordExpanding

    Occurs before a record with nested tables is expanded.

    Declaration
    public event RecordEventHandler RecordExpanding
    Event Type
    Type
    RecordEventHandler

    RecordValueChanged

    Occurs when a RecordFieldCell cell's value is changed and after Record.SetValue returns.

    Declaration
    public event RecordValueChangedEventHandler RecordValueChanged
    Event Type
    Type
    RecordValueChangedEventHandler

    RecordValueChanging

    Occurs when a RecordFieldCell cell's value is changed and before Record.SetValue is called.

    Declaration
    public event RecordValueChangingEventHandler RecordValueChanging
    Event Type
    Type
    RecordValueChangingEventHandler

    RemovingRelatedTable

    Occurs after the related table was removed from the RelatedTables collection.

    Declaration
    public event TableEventHandler RemovingRelatedTable
    Event Type
    Type
    TableEventHandler

    SelectedRecordsChanged

    Occurs after the SelectedRecords collection was modified.

    Declaration
    public event SelectedRecordsChangedEventHandler SelectedRecordsChanged
    Event Type
    Type
    SelectedRecordsChangedEventHandler

    SelectedRecordsChanging

    Occurs before the SelectedRecords collection is modified.

    Declaration
    public event SelectedRecordsChangedEventHandler SelectedRecordsChanging
    Event Type
    Type
    SelectedRecordsChangedEventHandler

    SettingTableDirty

    Occurs when table is set dirty.

    Declaration
    public event EventHandler SettingTableDirty
    Event Type
    Type
    System.EventHandler

    SortedItemsInGroup

    Occurs after the records for a group are sorted.

    Declaration
    public event GroupEventHandler SortedItemsInGroup
    Event Type
    Type
    GroupEventHandler
    Remarks

    The engine has a built-in optimization for sorting columns that allows it to perform the sorting on an on-demand basis group-by-group. Suppose you have a table with 200 different countries and you change the sort order of the cities. It is not necessary to sort the whole table. Instead, the individual groups can be sorted when they are scrolled into view. SortingItemsInGroup and SortedItemsInGroup events are fired in such cases when a specific group is sorted on demand.

    If the whole table was set dirty (see TableDirty), then the whole table is simply recategorized. In that case, only a CategorizedElements event is raised but no SortingItemsInGroup event.

    SortingItemsInGroup

    Occurs before the records for a group are sorted.

    Declaration
    public event GroupEventHandler SortingItemsInGroup
    Event Type
    Type
    GroupEventHandler
    Remarks

    The engine has a built-in optimization for sorting columns that allows it to perform the sorting on an on-demand basis group-by-group. Suppose you have a table with 200 different countries and you change the sort order of the cities. It is not necessary to sort the whole table. Instead, the individual groups can be sorted when they are scrolled into view. SortingItemsInGroup and SortedItemsInGroup events are fired in such cases when a specific group is sorted on demand.

    If the whole table was set dirty (see TableDirty), then the whole table is simply recategorized. In that case, only a CategorizedElements event is raised but no SortingItemsInGroup event.

    SourceListChanged

    Occurs after the data source is replaced.

    Declaration
    public event TableEventHandler SourceListChanged
    Event Type
    Type
    TableEventHandler

    SourceListListChanged

    Occurs before the Table processes the System.ComponentModel.IBindingList.ListChanged event of an attached source list. More detailed SourceListRecordChanged events will be raised after this event.

    Declaration
    public event TableListChangedEventHandler SourceListListChanged
    Event Type
    Type
    TableListChangedEventHandler
    Remarks

    The reason for firing this event is to give a programmer a chance to react to an System.ComponentModel.IBindingList.ListChanged event before the engine since there is otherwise no order guaranteed when an IBindingList raises a ListChanged event.

    SourceListListChangedCompleted

    Occurs right after the Table processes the System.ComponentModel.IBindingList.ListChanged event of an attached source list.

    Declaration
    public event TableListChangedEventHandler SourceListListChangedCompleted
    Event Type
    Type
    TableListChangedEventHandler
    Remarks

    The reason for firing this event is to give a programmer a chance to react to an System.ComponentModel.IBindingList.ListChanged event right after the engine since there is otherwise no order guaranteed when an IBindingList raises a ListChanged event.

    SourceListRecordChanged

    Occurs before the Table processes the System.ComponentModel.IBindingList.ListChanged event of an attached source list. More detailed SourceListRecordChanged events will be raised after this event.

    Declaration
    public event RecordChangedEventHandler SourceListRecordChanged
    Event Type
    Type
    RecordChangedEventHandler
    Remarks

    The reason for firing this event is to give a programmer a chance to react to an System.ComponentModel.IBindingList.ListChanged event before the engine since there is otherwise no order guaranteed when an IBindingList raises a ListChanged event.

    SourceListRecordChanging

    Occurs when a record in the underlying data source was added, removed, or changed and before the Table is updated with that change.

    Declaration
    public event RecordChangedEventHandler SourceListRecordChanging
    Event Type
    Type
    RecordChangedEventHandler

    Implements

    ITreeTableCounterSource
    ITreeTableSummaryArraySource
    System.IDisposable
    Back to top Generated by DocFX
    Copyright © 2001 - 2025 Syncfusion Inc. All Rights Reserved