IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

TMS TAdvStringGrid tri sur 2 colonnes ou plus


Sujet :

Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut TMS TAdvStringGrid tri sur 2 colonnes ou plus
    Salut,
    Je tente de trier une grille TMS TAdvStringGrid sur plusieurs colonnes mais sans succès
    J'ai bien tenté deux tri successifs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AllGrid.Sort(4, sdAscending);
    AllGrid.Sort(1, sdAscending);
    mais le second tri perturbe le premier tri
    Qui peut m'aider
    (rien trouvé sur Google... )
    Merci d'avance

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 661
    Points : 3 630
    Points
    3 630
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    Tu cherches à faire le tri de manière dynamique (par ton code en chargeant un fichier par exemple) ou bien le tri est une fonctionnalité que tu offres à l'utilisateur (il doit faire une manipulation pour effectuer le tri à sa convenance).

    Dans le second cas, j'ai fait un petit test avec un petit fichier csv chargé dans un TAdvStringGrid. Pour activer le tri, j'ai joué avec les attributs de la propriété SortSettings. Par rapport aux valeurs par défaut, j'ai coché Show et IndexShow.

    Il est alors possible de trier sur plusieurs colonnes en cliquant dans l'entête de la colonne qui sert de critère de tri. Pour ajouter une seconde colonne au critère de tri, il faut cliquer dans l'entête de la seconde colonne en maintenant la touche SHIFT enfoncée (il est possible de paramétrer pour utiliser la touche CTRL à la place). Tout en maintenant la touche SHIFT, si on "reclique" dans l'entête, le tri sur cette colonne se fera dans l'ordre décroissant. Refaire l'opération sur les éventuelles autres colonnes à ajouter au critère de tri.
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 035
    Points : 40 937
    Points
    40 937
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par PhilLU Voir le message
    Qui peut m'aider
    (rien trouvé sur Google... )
    Bonjour,

    je débute juste avec TAdvStringGrid, avec toutes ses propriétés c'est plutôt perturbant
    en tout cas je me sers énormément du manuel (bien fait) TAdvStringGrid Developers Guide
    tu devrais trouver les indications nécessaires à partir de la page 23

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Example: using QSortIndexed
    Grid.SortIndexes.Clear;
    // first column to sort is column 5 in ascending order
    Grid.SortIndexes.AddIndex(5,true);
    // second column to sort is column 2 in descending order
    Grid.SortIndexes.AddIndex(2,false);
    // third column to sort is column 4 in ascending order 
    Grid.SortIndexes.Add(4,true);
    Grid.QSortIndexed;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre habitué
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 466
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    je débute juste avec TAdvStringGrid, avec toutes ses propriétés c'est plutôt perturbant
    en tout cas je me sers énormément du manuel (bien fait) TAdvStringGrid Developers Guide
    tu devrais trouver les indications nécessaires à partir de la page 23

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Example: using QSortIndexed
    Grid.SortIndexes.Clear;
    // first column to sort is column 5 in ascending order
    Grid.SortIndexes.AddIndex(5,true);
    // second column to sort is column 2 in descending order
    Grid.SortIndexes.AddIndex(2,false);
    // third column to sort is column 4 in ascending order 
    Grid.SortIndexes.Add(4,true);
    Grid.QSortIndexed;
    Merci Sergiomaster,
    Je viens de me rendre compte que le problème est lié aux dates (14/04/2016 16:31:19) qui ne sont pas du tout triées :-(
    Je cherche...

    Encore merci ;-)

Discussions similaires

  1. [struts]: Pagination et tri sur les colonnes
    Par sleepy2002 dans le forum Struts 1
    Réponses: 3
    Dernier message: 09/07/2007, 15h16
  2. tri sur une colonne
    Par cubepiege dans le forum Langage SQL
    Réponses: 11
    Dernier message: 13/07/2006, 12h16
  3. Tri sur plusieurs colonnes
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 04/03/2006, 15h28
  4. [JSP] tri sur une colonne
    Par soony dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 28/07/2005, 15h02
  5. [VB6][ListView] Tri sur chaque colonne
    Par frlap dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/05/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo