Bind Grid View to Large Data (XPO)
- 4 minutes to read
You can bind the ASPxGridView to large data sets with the XpoDataSource component included in the XPO ORM library. This component supports database server mode (which delegates all data processing to the DB server), and only loads the number of records that can be displayed on-screen. This allows you to improve performance when you work with large datasets.
#Binding to Data
To bind ASPxGridView to a dataset via XpoDataSource in server mode, do the following.
Create and customize an XpoDataSource object. At design time, you can find this component in the Toolbox and add it to the page.
Note
Refer to the following section for more information: Get Started with XPO.
For information on how to generate persistent objects for existing data tables, see the following help topic: Generating Persistent Objects for Existing Data Tables.
- Set the XpoDataSource component’s XpoDataSource.ServerMode property to
true
. This enables database server mode. - Bind ASPxGridView to XpoDataSource.
- Provide connection settings to the target data store.
The following demo shows how fast the ASPxGridView control performs various operations (such as sorting, filtering, and grouping), and calculates summaries against 300,000 records in server mode: Data Binding to a Large Database via XPO
#Data Stores Supported in Server Mode
In server mode, the ASPxGridView control uses the eXpress Persistent Objects for .NET (XPO) APIs to connect to a data store. They work with all data stores supported by XPO - as listed in the table below.
Database Engine | Version | XPO Data Store Adapter | .NET Standard 2. | Database Provider Assembly |
---|---|---|---|---|
Advantage | Advantage Database Server v9. | Advantage |
| Advantage. Advantage. Advantage. |
ASA | SQL Anywhere 16, SQL Anywhere 17 | Asa |
| i Sap. Sap. |
ASE | Sybase Adaptive Server 12, Sybase Adaptive Server 15. | Ase |
| Sybase. Sybase. Sybase. Sybase. |
DB2 | DB2 9. | DB2Connection | IBM. IBM. | |
Firebird | Firebird 1. | Firebird Firebird | ||
MSAccess | Microsoft Jet |
| System. | |
MSSql | Microsoft Sql SQL Server 2005 Express Edition, SQL Server 2008, SQL Azure™ Database, SQL Server 2008 R2, SQL Server 2008 R2 Express, SQL Server 2012, SQL Server 2012 Express (including Local | System. System. | ||
MSSql | Microsoft Sql SQL Server Compact 4. | MSSql |
| System. System. |
My | My | My | My | |
Oracle | Oracle 9i, Oracle 10g, Oracle 11g, Oracle 12c | Oracle ODPConnection ODPManaged | System. Oracle. Oracle. Oracle. | |
Pervasive | Pervasive PSQL 9, Pervasive PSQL 10, Pervasive PSQL 11 | Pervasive |
| Pervasive. Pervasive. |
Postgre | Postgre | Postgre | Npgsql. Npgsql. Npgsql. Npgsql. Npgsql. | |
SQLite | SQLite 3 | SQLite | System. Microsoft. | |
Vista | Vista | Vista |
| Vista Vista |
Note that the database provider assembly versions listed in the table above are the versions that have been tested with the current XPO version. Since XPO loads ADO.NET provider assemblies dynamically, you can use any specific version of the provider.
Note
XPO does not support tables with multi-column (compound) keys or indexes in ASE databases. To avoid exceptions when connecting to ASE databases containing these tables, use one-column keys or indexes.
Note
We do not recommend binding the ASPx
#Database Server Mode Limitations
In database server mode, ASPxGridView does not have simultaneous access to bound data in its entirety. This imposes some limitations on the grid features available in regular binding mode. See the following topic for information on features that are not supported in server mode: Database Server Mode Limitations.