Built-in Row Caching
- 2 minutes to read
The Bootstrap Grid View provides the ASPxGridView.EnableRowsCache property allowing you to enable or disable built-in row data caching.
By default, the ASPxGridView.EnableRowsCache property is set to true and the Grid View stores its current content in grid cache memory for quick access. So if the request to the server is not instantiated by the Grid View, or if the performing operation does not require the reloading of data (e.g., rearranging or hiding columns), then Grid View will take data from the cache. Therefore, it increases your Web application's scalability, and the individual operations will be quicker because there's no database access happening in that particular cycle.
In certain cases, for instance, when the Grid View displays real-time data, it can be useful to disable data caching by setting the ASPxGridView.EnableRowsCache option to false. Disabling this option when binding to data created at runtime is the recommended approach, because calling the DataBind method will always reload data from the server.
If you use custom objects that utilize a referenced association, the Grid View tries to cache references too. The serialization of a custom object is performed by the ToString method and is performed smoothly. But object deserialization (restoration from String to object) could be raised with an exception:
TypeConverter cannot convert from System.String.
One solution is to turn off the ASPxGridView.EnableRowsCache property. This solution is acceptable when the page doesn't have several grids, and in most cases doesn't affect page performance significantly.
However, you can implement a custom TypeConverter derived class that can convert from the String type correctly. To learn more, see the Code Central example: How to implement a custom TypeConverter class for an XPO object
<dx:BootstrapGridView ID="BootstrapGridView1" runat="server" EnableRowsCache="false" ...
For more detailed information, see the ASPxGridView Row Cache online Knowledge Base article.