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 |