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:
http://www.aspitalia.com/articoli/aspplus/paginazione.asp
- #930 - Propagare un evento al controllo padre nei Custom Control
- Architettura del software: le applicazioni web a tre livelli
- #936 - Aggiungere una riga con il totale calcolato al GridView
- #935 - Sfruttare l'evento LoadComplete della pagina
- #920 - Utilizzare HttpModule in modalità asincrona
- Rilasciata la Preview 2 di ASP.NET AJAX 4.0.
- Realizzare un controllo custom in ASP.NET AJAX - Prima parte
- #914 - Custom Control con il supporto al databind per ASP.NET 2.0
- #947 - La direttiva OutputCache con ASP.NET 2.0 e 3.5
- Il DataSet nel web è il male
- #946 - Attributi per il supprto a design time di custom control con ASP.NET
- #948 - Recuperare l'ID del controllo che ha scatenato l'AsyncPostBack con ASP.NET AJAX
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.








Stampa
Snippet
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
Compiler Error Message: BC30451: Name 'queryres' is not declared.Source Error: Line 23: Line 24: ' paginazione con numero di pagina Line 25: ...
Continua »»» | Rispondi »»»