Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Paginazione DataView
martedì 24 luglio 2007 - 10.24
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
neuromante65
Profilo
| Newbie
8
messaggi | Data Invio:
mar 24 lug 2007 - 10:24
Ho una pagina ASP.NET 2 nella quale sono presenti un controllo GridView, alcuni combo ed un tasto; cliccando sul tasto vado a leggere le selezioni dei combo , creo una query Sql "on the fly" e metto tutto in un dataset dal quale mediante un Dataview estraggo solo le righe che mi interessano con un filtro e faccio il binding alla mia GridVIew.
Nella gridView ho impostato il paging e per conservare la persistenza del dataSource tra un post e l'altro della pagina homemorizzato il dataview stesso in una variabile di sessione (ho preso lo spunto da MSDN)
In questo modo il paging funziona correttamente e mi muovo senza problemi tra una pagina e l'altra; mi chiedo però se non c'è un sistema + performante per ottenere lo stesso risultato perchè quando il DB sarà popolato e le righe diventeranno tante portarmenle appresso con una variabile di sessione non mi sembra il max.
Allego il code-behind della pagina in oggetto
Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/GestionePalmari.mdb")
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strSQL As String
Dim TotRighe As String = "Righe Totali: "
strSQL = "SELECT * FROM MiaTabella"
Using connection As New OleDbConnection(conn)
connection.Open()
Dim myDataSet As New DataSet
Dim cmdSelezione As New OleDbCommand(strSQL, connection)
Dim myAdapter As New OleDbDataAdapter(cmdSelezione)
myAdapter.Fill(myDataSet, "TabOperazioni")
Dim dv As DataView
dv = New DataView(myDataSet.Tables("MiaTabella"), "(MIOCAMPO = MAX(MIOCAMPO))", "CAMPO", DataViewRowState.CurrentRows)
Session("Source") = dv
TotRighe += dv.Count.ToString
GridView1.DataSource = dv
GridView1.DataBind()
lblMessage.Text = TotRighe
End Using
Protected Sub gridView_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
GridView1.DataSource = Session("Source")
GridView1.PageIndex = e.NewPageIndex
GridView1.DataBind()
End Sub
E l'HTML:
<asp:GridView ID="GridView1" OnPageIndexChanging="gridView_PageIndexChanging" runat="server" AllowPaging="True" BorderColor="#00C0C0"
CellSpacing="1" Font-Names="Tahoma" Font-Size="Small" Width="357px">
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !