Posso usare < asp: dataGrid > cercapersone con prestazioni di paging del database?
-
08-07-2019 - |
Domanda
Ho una procedura di archivio che gestisce il paging a livello di database, ricevendo @ PageSize e @ PageIndex . Posso crearne un altro per restituire @ PageCount , date le dimensioni della pagina.
Posso fare in modo che un datagrid esegua il paging a livello di database senza doverlo sviluppare al di fuori del controllo, usando il pager di controllo?
Sembra che l'uso predefinito del paging di Datagrid riceva tutti i risultati della query e faccia il paging al di fuori del database. Non è un bene per noi, un sovraccarico inutile.
Soluzione
Imposta AllowCustomPaging = " true " sull'aspx. E quando si esegue il database:
mygrid.VirtualItemCount = pageCount;
mygrid.DataSource = mysource;
mygrid.DataBind();
Sulla base del tuo commento " Uso connessione ADO, comando, ecc. e dopo aver caricato i risultati in un elenco di oggetti (le mie classi di entità), creo datagrid.DataSource = List; "
Altri suggerimenti
Se si utilizza un controllo ObjectDataSource come DataSourceID di GridView, funziona in modo piuttosto fluido. I controlli ObjectDataSource hanno un paio di parametri in cui puoi dirgli i nomi delle proprietà PageIndex e MaxRows.