none
Gridview et sorting manuel RRS feed

  • Question

  • Bonjour

     

    J'ai un gridview qui contient les résultats de la recherche

    Le datasource est une liste d'objets, List(Of ...)

    Le bind se passe bien.

     

    J'ai ajouté le tri avec allowsorting et la méthode gvRecherche_Sorting

     

    J'ai récupéré un code et l'ai adapté, le voilà :

     

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

    *** Dim dataTable As DataTable = gvRecherche.DataSource

    If Not dataTable Is Nothing Then

    Dim dataview As DataView = New DataView(dataTable)

    dataview.Sort = e.SortExpression & " " & ConvertSortDirectionToSql(e.SortDirection)

    gvRecherche.DataSource = dataview

    gvRecherche.DataBind()

    End If

    End Sub

     

    Private Function ConvertSortDirectionToSql(ByVal sd As SortDirection)

    Dim newSortDirection As String = String.Empty

    Select Case sd

    Case SortDirection.Ascending

    newSortDirection = "ASC"

    Case SortDirection.Descending

    newSortDirection = "DESC"

    End Select

    Return newSortDirection

    End Function

     

    A la ligne *** le datatable est null (nothing)

     

    Ma question est la suivante : comment récupérer les données d'un gridview pour en faire un datatable ou existe-t-il une autre méthode pour faire le sorting manuellement ?

     

    Merci

     

    Michel

    mercredi 20 août 2008 13:34

Réponses

  • Bonjour,

     

    Il n'est pas possible de récupérer directement des données d'un gridview vers un datatable (Dans une bonne architecture, cela n'a pas sens et dénote une erreur de conception).

     

    existe-t-il une autre méthode pour faire le sorting manuellement ?

    L'idéal est de le faire au niveau SQL, les SGBD sont conçu et très performant pour ce genre d'opération...

     

    Cordialement

     

    mardi 16 septembre 2008 09:00
    Modérateur