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.
Inherited Members
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.
-
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 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
EngineVersion
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
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
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
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
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
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
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
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
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
GetYAmountCount()
Gets the element height.
Declaration
public override double GetYAmountCount()
Returns
| Type | Description |
|---|---|
| System.Double | Element height. |
Overrides
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
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
InvalidateSummariesTopDown()
Overridden to reset the summary for all elements.
Declaration
public override void InvalidateSummariesTopDown()
Overrides
InvalidateSummary()
Resets the summary.
Declaration
public override void InvalidateSummary()
Overrides
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
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
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 |