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.NET Discussion :

DataGridView.DataSource.Sort avec chiffres et texte


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut DataGridView.DataSource.Sort avec chiffres et texte
    Bonsoir à tous,

    Voilà, pour trier mon Datagridview, j'utilise la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView.DataSource.Sort = "Code ASC"
    Le problème est que le contenu de ma colonne "Code" peut contenir soit des chiffres, soit du texte. La plupart de mes données sont des chiffres.

    De ce fait avec la fonction ci dessus, le tri n'est pas correct ..... Est-il possible de faire en sorte qu'il ne trie que les chiffres et que là ou il y a du texte, il s'en occupe pas pour trier. Mais je dois quand même les voir dans mon datagridview. Ensuite qu'ils soient en haut ou en bas c'est égal.

    Merci beaucoup pour votre future aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Rebonjour à tous,

    Je me suis peut-être mal exprimé dans mon premier message....

    Dans une base access, j'ai une colonne Code qui peut contenir des chiffres et/ou des caractères alphabétiques comme :

    4465464
    MUE4545
    2222
    111

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView.DataSource.Sort = "Code ASC"
    n'arrive pas à me classer correctement cette liste par ordre croissant par exemple car il y a des lignes avec des caractères alphabétiques comme MUE4545.

    Existe-il un moyen qu'il classe tout : les chiffres puis les autres qui contiennent du texte ?

    Merci d'avance

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    Il vous suffit d'implémenter votre propre algorithme de tri comme préconiser par MSDN.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Re,

    Merci pour votre réponse mais j'avoue que j'ai un peu de mal à adapter celà à mon cas .....

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Dites nous ce que vous avez essayé et on essayera de vous aider

  6. #6
    Expert confirmé 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
    Par défaut
    Il n'y a malheureusement aucune bonne solution si le DataGridView est relié à un BindingSource lui même lié à une DataTable .

    Un palliatif consiste à ajouter une colonne "SortedCode" bien triée dans la DataTable avec un contenu déduit de la colonne "Code" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    4465464 -> 000465464
    MUE4545 -> MUE4545
    2222    -> 000002222
    111     -> 000000111
    et on rendra la colonne "SortedCode" du DataGridView invisible.

Discussions similaires

  1. Souci avec la propriété DataSource d'une zone de texte
    Par uranium-design dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 22/04/2007, 09h45
  2. [VBA-E] probleme avec chiffre stocké en texte
    Par moimemessssssssss dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/02/2007, 19h47
  3. [XSL] xsl:sort avec parametre et condition
    Par elraton dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/01/2005, 20h59
  4. Contenu DataSource.xml avec base Mysql
    Par PrinceMaster77 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 11/03/2004, 12h59
  5. Dessiner un rectangle avec bords et texte ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 17h17

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