Sorting dans un GridView

Signaler
Messages postés
6
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
11 juin 2009
-
Messages postés
6
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
11 juin 2009
-
Salut tout le monde
Je viens en dernier recours demander de l'aide pour arriver a mes fin :
Trier un GridView suivant que l'on clique sur les liens d'entete (avec allowsort = true)

Aprés moulte recherche et tentative je suis arriver a coder quelque procedure mais je n'arrive toujours pas à trier les elements ( à chaque clique la page se recharge et me revient comme elle l'était avant le clique )

Ci dessous mon code:



Property GridViewSortDirection() As String

Get

If IsNothing(ViewState.Item("GridViewSortDirection")) Then

Return "desc"

End If

Return ViewState.Item("GridViewSortDirection")

End Get

Set(ByVal Value As String)

ViewState.Item("GridViewSortDirection") = Value

End Set

End Property





Function GetSortDirection()

Dim GridViewSortDirectionNew As String

Select Case GridViewSortDirection

Case "DESC"

GridViewSortDirectionNew = "ASC"

Case "ASC"

GridViewSortDirectionNew = "DESC"

Case Else

GridViewSortDirectionNew = "DESC"

End Select

GridViewSortDirection = GridViewSortDirectionNew

Return GridViewSortDirectionNew

End Function



Protected Sub GridViewPOS_PageIndexChanging1(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs)

GridView.PageIndex = e.NewPageIndex

GridView.DataBind()

End Sub



Protected Sub GridView_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs)

Dim myPageIndex As Integer = GridView.PageIndex

Dim mySortdirection As String = GetSortDirection()

Dim dataTable As Data.DataTable = ViewState.Item("DataSource")

If Not DataTable Is Nothing Then

Dim dv As New DataView()

dv.Table = GridView.DataSource

dv.Sort = e.SortExpression & " " & mySortdirection

GridView.DataSource = dv

GridView.DataBind()

GridView.PageIndex = myPageIndex

End If

End Sub




Je precose que je n'utilise pas de DataSource; La requete est executée en behind.


Toute aide serait la bienvenue!!! je suis au bord du goufre là !!!!

4 réponses

Messages postés
6
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
11 juin 2009

je me demande si je pose mes questions aux bons endroits car c'est mon n'ieme post qui ne trouve pas de reponse

svp
Messages postés
27
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
24 juin 2010

salut,

je connais pas vb.net mais esaaye ça :

Protected Sub SelectionGrid_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs)
If e.SortDirection = SortDirection.Ascending Then

SelectionGrid.Sort(e.SortExpression, SortDirection.Descending)
Else
SelectionGrid.Sort(e.SortExpression, SortDirection.Ascending)
End If
End Sub
Messages postés
6
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
11 juin 2009

Merci pour vos réponses
Je vais tester puis je vous tiens au courant!