Mantenere ordinamento datagrid

mercoledì 23 novembre 2005 - 12.43

adry_tssj Profilo | Newbie

ciao a tutti!
ho un datagrid che mi estrapola i dati dal database senza nessun ordinamento..
Ora ho inserito un LinkButton che sull'onClick mi chiama una funzione che mi imposta a TRUE una variabile booleana dichiarata a livello generale e che mi richiama il binding del datagrid...
nel binding controllo il valore della suddetta variabile e se è TRUE mi esegue la select con l'order by, in caso contrario mi esegue la select normale...
e questo mi funziona...
Il problema è che quando io passo ad un'altra pagina (ad esempio per eseguire la modifica dei dati [aggiungere o sottrarre la quantità] ) mi viene perso il valore di questa variabile booleana e quando al carimento esegue il binding la considera FALSE...
Come faccio a mantenere il valore di quella variabile?

Grazie mille
Ciao

Brainkiller Profilo | Guru

>Come faccio a mantenere il valore di quella variabile?

Ciao puoi immagazzinarla nell'oggetto Session dopo che l'utente ha cliccato sul tuo link in questo modo:

Session("Ordinamento")=true

e successivamente puoi recuperarlo così:

Dim valore as Boolean
valore=Session("Ordinamento")

La sessione è per utente quindi ogni utente potrà avere il suo ordinamento.
Naturalmente se tu chiudi il browser e lo riapri l'ordinamento non viene mantenuto a meno del salvataggio dell'impostazione tramite Cookie o su DB.
Ciao



David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

adry_tssj Profilo | Newbie

Ti ringrazio, non ci avevo pensato... Che vergogna! #^_____^#


Adry
_______________________________________________________

Lascia di quando in quando per me qualche sorriso, e ne avrò vita.
- W. Shakespeare -

adry_tssj Profilo | Newbie

Purtroppo mi si crea ancora un problema perchè ho scritto questo codice quando viene cliccato sul LinkButton:

Sub ordina(sender As Object, e As System.EventArgs)
if Session("ordinati") = True then
Session("ordinati") = False
ordinamento.Text = "Ordina Alfabeticamente"
Else if Session("ordinati") = False Then
Session("ordinati") = True
ordinamento.Text = "Non Ordinare"
End if
bindDataGrid
End Sub


nella funzione bindDataGrid:

If Session("ordinati") = True Then
sqlStr = "Select IDArt, Articolo, Qta from Magazzino order by Articolo asc"
Else if Session("ordinati") = False Then
sqlStr = "Select IDArt, Articolo, Qta from Magazzino"
End If

Però mi funziona per ordinare (quindi la prima volta che clicco sul LinkButton) ma mi resta bloccato lì... come se non mi facesse più tornare la Session = False

perchè???
Grazie
Ciao

Adry
_______________________________________________________

Lascia di quando in quando per me qualche sorriso, e ne avrò vita.
- W. Shakespeare -
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5