37 messaggi dal 22 gennaio 2002
Ciao a tutti,
allora ho un DataGrid, gli faccio caricare dinamicamente da un DB i dati.
E finquì tutto ok, setto l '"Allow Sorting" su true in modo tale da poter selezionare l'ordinamento come voglio io.
Per farlo ho scritto così il codice:

Private Sub DataGrid2_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DataGrid2.SortCommand
Dim connstr As String
connstr = "Data Source=localhost; Initial Catalog=PROVA; User ID=sa;Password=xxxxx;"
Dim mySqlConn As New SqlConnection(connstr)
mySqlConn.Open()
Dim SQL2 As String
Session("variabile") = Session("variabile") + 1
If (Session("variabile") Mod 2) = 0 Then
SQL2 = "select * from HTML order by " + e.SortExpression + " asc"
Else
SQL2 = "select * from HTML order by " + e.SortExpression + " desc"
End If
Dim dad As SqlDataAdapter
Dim dst As DataSet
dad = New SqlDataAdapter(SQL2, mySqlConn)
dst = New DataSet
dad.Fill(dst)
DataGrid2.DataSource = dst
DataGrid2.DataBind()
mySqlConn.Close()
End Sub

Il fatto è che sono sicuro che ci sia una maniera per renderlo meno "ROZZO" e + leggibile, stessa cosa per quanto riguarda l'ordinamento.
Qualcuno di vopi può darmi una mano gli sarei grato.

Grazie in anticipo a tutti e grazie d'esistere.
L'approccio migliore è quello di usare il metodo Sort dell'oggetto DataView usato come DataSource per la griglia.

Tra l'altro usando il caching per mantenere in memoria l'oggetto DataView iniziale, puoi ottenere performance molto buone.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
37 messaggi dal 22 gennaio 2002
Ciao,
potresti essere + chiaro per favore sono ancora un novizio :P

Grazie in anticipo a tutti e grazie d'esistere.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.