Version

Wrapping the Data

Once data has been supplied to the xamDataGrid™, xamTreeGrid™, xamDataCards™, xamDataCarousel™, or xamDataPresenter™ control, a RecordManager is created internally to manage and synchronize the root data from the DataSource. It is exposed by DataPresenterBase's RecordManager property. The RecordManager automatically creates DataRecord objects for each item in the DataSource as they are requested. By default, this is done lazily but setting the RecordLoadMode to PreloadRecords will cause all of the DataRecords to be created up front.

The RecordManager exposes collections for returning these DataRecords in their original unsorted order, in their current sort order and grouped if applicable.

The DataPresenterBase's ViewableRecords collection will also return DataRecords but strips out any DataRecords whose Visibility property is set to Collapsed. This collection also contains special records that are not in the RecordManager’s collections (e.g., add records).

Note
Note

DataRecords are not UIElements™ but rather lightweight objects that wrap the data items. They are represented in the UI by corresponding DataRecordPresenter elements. DataRecordPresenter elements are virtualized so that they are created only to represent the DataRecords that are currently in view. In some cases, additional DataRecordPresenter elements are cached to optimize scrolling performance. For more information, see Performance Optimizations Overview.