The RadGridViewAPI supports UI Virtualization, which processes only information that is loaded in the viewable area, which reduces the memory footprint of the application and speeds up the loading time thus additionally enhancing the UI performance.
The grid utilizes horizontal and vertical virtualization and introduces container recycling for a further improvement of speed and memory footprint. This is of great importance when RadGridView is bound to large data sets. The UI virtualization technique ensures that the grid creates only the needed containers (rows/cells) which are shown in the viewport of the grid. The container recycling pushes further the speed of scrolling horizontally and vertically. This feature enables RadGridView to reuse the existing containers over and over again for different data items, instead of creating new ones. These techniques, combined with the outstanding LINQ-based data engine, guarantee the exceptional fast performance of Telerik’s RadGridView.
The standard layout system creates item containers and computes layout for each item associated with a list control. The word "virtualize" refers to a technique by which a subset of user interface (UI) elements are generated from a larger number of data items based on which items are visible on-screen. Generating many UI elements when only a few elements might be on the screen can adversely affect the performance of your application.
The following tutorial shows how to bind to a collection of business objects and virtualize the items displayed in a RadGridView element using the EnableColumnVirtualization and EnableRowVirtualization property.
By default they are both set to True.
Here is a simple RadGridView declaration.
The RadGridView is populated with 500 000 rows.
this.radGridView.ItemsSource = this.GetVeryLargeDataSource();
Me.radGridView.ItemsSource = Me.GetVeryLargeDataSource()
Disable Column Virtualization
In order to disable the UI Column Virtualization behavior, you should set the EnableColumnVirtualization property of the RadGridView to False. See the example below:
<telerik:RadGridView x:Name="radGridView" EnableColumnVirtualization="False"/>
Disable Row Virtualization
In order to disable the UI Row Virtualization behavior, you should set the EnableRowVirtualization property of the RadGridView to False. See the example below:
<telerik:RadGridView x:Name="radGridView" EnableRowVirtualization="False"/>