|
|
|
|
|
Responsive to Data Changes
If a data source supports IBindingList/ListChanged events, then Essential Grouping listens to these events, responding appropriately. If the datasource does not support IBindingList, the Grouping Engine may refresh itself as appropriate.
|
|
|
|
While the IBindingList datasource is being edited, Essential Grouping will respond immediately to any changes. If the edit changes a record sort position, filter state or group state, the engine will handle repositioning record correctly. Since binary trees have the advantage that parent branches can cache information about their children, the position and summary information is cached in parent branches, allowing the editing changes to quickly honor any sort/group criteria that is currently applied. If a user changes an entry so that it changes its group location or summary information, the Grouping Engine updates these items automatically.
Below is the picture of a before and after listing of the some sports statistics. In the external DataTable, the record for Maryland was changed to Boston College. Notice the Grouping Engine placed the record in its proper sort position.
Before and after displays of externally changed data affecting sort position
|
|
|
|
Following is the before and after listing of a group of sports statistics. In the external DataTable, a new record was added for the school Miami. Notice the Grouping Engine placed the record in its proper sort position.
Before and after displays of adding a new item to a sorted collection
|
|
|
|
As items are deleted from an IBindingList datasource, Essential Grouping will automatically remove them from any sorted, filtered or grouped collections.
|
|
|
|
|
|
|
|