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

VB 6 et antérieur Discussion :

[VB6] Listview problème de tri.


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Par défaut [VB6] Listview problème de tri.
    Bonjour,

    J'ai déjà consulté les problèmes de tri sur les listviews dans le forum mais je n'y ai pas trouvé mon bonheur. Mon problème est que je souhaite trier un listview qui contient des nombres malheuresement VB effectue un tri alphabétique sur ces nombres, il considère donc que 10 11 et 12 sont plus petit que 2 par exemle...

  2. #2
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    ta listview se rempli a partir d'ou?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Par défaut
    Ma listview se remplie à partir d'un ADODB.recordset qui se connecte à une base de donnée Oracle.

  4. #4
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    peut-etre tu pourrait remplir une liste et ensuite, tu en rempli une nouvelle en fesant le tri que tu veux, en comparant chaque chiffre que tu ajoute. bon c'est du traitement un peu mais je ne sais pas s'il y a d'autre solution..

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Par défaut
    Oui je crois que ca pourrai marcher si je rajoute une collone caché avec des zeros inutiles. Comme ca 00010 est pus grand que 00002 en tri alphabétique. Enfin je vais essayer je ne suis pas sur et ca reste de la bidouille.

  6. #6
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    oui ben si tu rajoute des 0 , c'est rapide, tu les rajoute dans ta boucle ou tu fais ta liste

  7. #7
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    si le champ du recordset est un numerique, fais un tri dessus avant de charger ta listview

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 150
    Par défaut
    Citation Envoyé par ThierryAIM
    si le champ du recordset est un numerique, fais un tri dessus avant de charger ta listview
    Meci Thierry mais le tri s'effectue lorsque l'utilisateur clique sur une colonne, de plus il y a un tri croissant ou decroissant je ne vais donc pas recharger ma listview juste pour un tri.

    Voici la soluce que j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    'Ma premiére colonne représente mes identifiants
    'La colonne 7 est une colonne caché qui représente les identifiants avec des 0 inutiles pour 'bypasser' le tri alphabétique
    For I = 1 To listProp.ListItems.Count
                Dim strTmp As String
                strTmp = listProp.ListItems.Item(I)
                While (Len(strTmp) < 10)
                    strTmp = "0" & strTmp
                Wend
                listProp.ListItems.Item(I).SubItems(7) = strTmp
    Next

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

Discussions similaires

  1. [Débutant] Problème de tri dans une listview
    Par Jean-Luc80 dans le forum VB.NET
    Réponses: 10
    Dernier message: 08/09/2013, 19h43
  2. [débutant]Problème de tri sur ListView : IComparer
    Par TomDuBouchon dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/09/2009, 11h36
  3. [VB6][ListView] Tri sur chaque colonne
    Par frlap dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/05/2004, 12h20
  4. problème de tri et optimisatiopn
    Par psyco2604 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 13/05/2004, 11h44
  5. [CR][VB6][Win2000] Problème OCX
    Par msna dans le forum SDK
    Réponses: 2
    Dernier message: 23/09/2003, 15h18

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