Paginare un datagrid è abbastanza semplice, tuttavia di default vengono mostrati dei link alla pagina precedente ed a quella successiva.
Per modificare questo comportamento, mostrando il numero di pagine disponibili, è possibile utilizzare uno script come questo:
<%@ Page Language="VB" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <SCRIPT RUNAT="server" LANGUAGE="VB"> Sub Page_Load (sender As Object, e As EventArgs) BindData() End sub Sub BindData() Dim conn As SqlConnection Dim strConn as String = "server = localhost; UID = sa; pwd=" conn = New SqlConnection(strConn) Dim query As SqlDataAdapter query = New SqlDataAdapter("SELECT * FROM script", conn) Dim querydataset As Dataset = new DataSet() query.fill(querydataset) ' paginazione con numero di pagina queryres.PagerStyle.Mode = PagerMode.NumericPages ' numero di pagine da mostrare, seguono poi i ... queryres.PagerStyle.PageButtonCount = 5 queryres.DataSource = querydataset queryres.DataBind() End Sub Sub cambiapagina(sender as Object , e as DataGridPageChangedEventArgs) queryres.CurrentPageIndex = e.NewPageIndex lblRisultati.Text = "Pagina " & (e.NewPageIndex + 1) BindData() End Sub </SCRIPT> <form runat="server" method="post"> <ASP:label id="lblRisultati" runat="server" /> <ASP:Datagrid id="queryres" runat="server" AllowPaging="True" onPageIndexChanged="cambiapagina" /> </form>
Con questa modifica, la barra in basso conterrà un menu di navigazione del tipo: 1 2 3 4 5 ...
In questo esempio viene utilizzato SQL Server come fonte di dati, con i namespace ottimizzati per l'accesso tramite DTS.
Con alcune modifiche (anzichè usare SQLConnection, basta utilizzare OLEDBConnection e via di seguito) è possibile adattare questo script anche ad altri database, come Access o MySQL.
Per maggiori informazioni sulla paginazione di un datagrid si veda:
https://www.aspitalia.com/articoli/aspplus/paginazione.asp
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- prenota subito i nostri nuovi libri su #aspnet45, #aspnetmvc 4, #csharp5, #vb2012, #vs2012: https://aspit.co/ad1 15% di sconto @Hoepli_1870
- #Windows10 e #UWP: non perdere il 15/12 il nostro streaming gratuito #aspilive https://aspit.co/Win10-Live
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Impostare una policy di retry con Polly e IHttpClientFactory in #aspnetcore2.1 https://aspit.co/bpm di @GentiliMoreno #webapi #aspnetcore1
- Gestire il warmup di una web app #azure in bilanciamento di carico https://aspit.co/bqo di @CristianCivera
- Gestire la documentazione di più versioni della stessa API su #aspnetcore2.1 https://aspit.co/bqs di @crad77 #webapi
- Web UI interattive con #blazor Server https://aspit.co/bw9 di @GentiliMoreno #aspnetcore3 #netcore3
- Use Firebase in #PWA https://aspit.co/b2g
- Testare le impostazioni CORS di un'applicazione #aspnetcore https://aspit.co/b4p di @crad77 #webapi
- @scottgu mostra come creare app per #wp7 a #pdc10 http://u.aspitalia.com/n3