Trier manuellement une GridView

Signaler
Messages postés
38
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
7 juillet 2006
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
    Bonjour,
Petit soucis (qui m'embete bcp :) ) :

j'utilise une gridview "remplie à la main" à partir d'un tableau de données

GridView1.DataSource=matable;
GridView1.DataBind();

Là j'ai bien mes données affichées

le paging et le sorting automatique sont quasi-auto avec une source type SQL
mais là je dois le faire à la main !!

pour le paging j'ai fini par y arriver
mais le sorting je galère....

j'ai ajouté une propriété AllowSorting à true à la GriView1
ajouté SortExpression="nom" ou "date" par exemple dans chacune de mes colonnes

je dois maintenant d'apres ce que j'ai pigé programmé l'event GridView1_Sorting

seulement pas la moindre idée de quoi écrire dedans pour qu'il trie selon un nom, une date par exemple (selon le clic sur telle colonne)

merci bcp d'avance

3 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonsoir,

si tu utilises un dataset, il te faudra alors utiliser un dataview qui te trieras tout ca tout seul :-) avec une propriété sort ou un truc du genre.

<hr />Cyril - MVS - MCP
Messages postés
38
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
7 juillet 2006

       comment je fais pour mettre mon table de données dans une dataview ?
merci d'avance :)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
par exemple 

    Dim sdaCust As New SqlDataAdapter(strSql, objConn)
    Dim dstCust As New DataSet()

    sdaCust.Fill(dstCust, "Customers")
    Dim dtbCust As DataTable = dstCust.Tables(0)
    Dim dtvCust As New DataView(dtbCust)

    dtvCust.RowFilter = "CompanyName LIKE '" & ddlAlpha.SelectedItem.Text & "%'"
    dtvCust.Sort = "ContactName"
    dtgCust.DataSource = dtvCust
    dtgCust.DataBind()

from http://www.dotnetjohn.com/articles.aspx?articleid=31

regarde sur google tu trouveras pleins d'exemples

<hr />Cyril - MVS - MCP