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
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Implementare il throttling in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Short-circuiting della Pipeline in ASP.NET Core