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 :

Trier une Listview à partir d'une Valeur qui est dans un object


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut Trier une Listview à partir d'une Valeur qui est dans un object
    J'aimerais bien trier un Listview à partir d'une valeur (alphanumérique) que j'ai mise dans un Object qui est dans la Listview.
    En ajoutant des lignes j'aimerais bien que la listeview est trié automatiquement!
    En mettant par example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TListView.AlphaSort
    la première colonne est bien trie mais est-ce possible de la faire trier à partir de la valeur qui est dans l'object
    Par ou dois-je commencer et comme faire merci beaucoup pour l'aide.
    Salutations

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Jette un coup d'oeil à l'évènement OnCompare, il répond à ce que tu attends.
    Dès que tu auras implémenté l'évènement c'est lui qui sera appelé par AlphaSort.

    @+ Claudius

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut
    Bonsoir,
    J'ai un peut regarder l'évènement OnCompare et si je comprend bien
    il doit comparer entre deux Items...
    Dois-je passer par là si je veux faire un tri d'un seul champs ou la valeur est dans l'object. Merci

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut
    Je suis en train de faire des tests et pour comparer les deux Items il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Compare := CompareStr (Item1.Caption, Item2.Caption)
    Mais mon problem et que je ne vois pas comment mettre ma valeur de l'objet dans Item1.??

    Pour récuperé la valeur je procéde comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TMaClass(ListView1.Items[ListView1.ItemIndex].Data).Value1
    Merci beaucoup pour un petit example...
    Salutations

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    De quel type est Value1?
    En fait, tu dois renvoyer 3 valeurs possibles dans Compare:
    Citation Envoyé par l'aide de Delphi
    Si Item1 est identique à Item2 dans l'ordre de tri, affectez la valeur 0 au paramètre Compare. Si Item1 est inférieur à Item2, affectez une valeur négative au paramètre Compare. Si Item1 est supérieur à Item2, affectez une valeur supérieure à zéro au paramètre Compare.
    Voila c'est aussi simple que ça Une petite recherche t'aurait donné la solution.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut
    Salut,
    Le type de Value1 est string;
    Mon problème est que je n'arrive pas à mettre la valeur de l'object Value1
    dans la function CompareStr.
    Avec Item1.Caption c'est ok mais comment mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TMaClass(ListView1.Items[ListView1.ItemIndex].Data).Value1
    dans la fonction CompareStr
    ceci ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Item1.TMaClass(ListView1.Items[ListView1.ItemIndex].Data).Value1
    Salutations et merci

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonsoir,

    Dans le OnCompare, les string seront donnés par :
    s1:=String(Item1.Data) ;
    s2:=String(Item2.Data) ;
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 317
    Points : 88
    Points
    88
    Par défaut
    Bonjours à tous,
    Je vient de faire des tests et tout passe.
    Le tri n'est pas encore correct, mais je suis en train de chercher.
    Bonne journée, salutations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une ListView à partir d'une BD
    Par infoworld2013 dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 05/09/2013, 01h44
  2. Lancer une activity à partir d'une listView
    Par cadeau10 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 10/05/2011, 09h25
  3. Comment créer une GridView à partir d'une ListView ?
    Par xXO--Hades--OXx dans le forum Composants graphiques
    Réponses: 52
    Dernier message: 09/12/2010, 10h49
  4. [XL-2007] Remplir une listview à partir d'une feuille de calcul ou de textbox
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/10/2009, 23h43
  5. Afficher une image à partir d'une listview
    Par JLV1975 dans le forum IHM
    Réponses: 3
    Dernier message: 10/03/2008, 09h55

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