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, et format "prix"


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Par défaut Datagridview, et format "prix"
    Salut à tous, voilà, j'ai un petit problème, j'ai un datagridview, dans lequel il y a un champ "prix", afin d'avoir une meilleure visu, j'ai fait un séparateur de millier de mon prix, cela marche très bien, mais le problème est que si je veux trier cette colonne, et bien ça tri par rapport à l'alphabet, et non par rapport à l'ordre numérique.

    C'est à dire que si je trie, j'ai
    011
    8420
    956

    par exemple, or cela devrait me donner :
    011
    956
    8420

    Mais étant donné que je retranscris mon prix en string afin de faire le séparateur de millier...

    Voici le code de déclaration de mon datagridview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Dim MyColPrix As DataColumn = New DataColumn
    ith MyColPrix
                .ColumnName = "Prix (en €)"
                .Caption = "Prix (en €)"
                .DataType = System.Type.GetType("System.Double")
                .AutoIncrement = False
                .ReadOnly = False
                .Unique = False
            End With
            MyData.Columns.Add(MyColPrix)
    Puis je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyDataRow.Item("Prix (en €)") = = CType(cuAv("Prix vente euro"), Double)
    Ce qui ne me met pas les séparations entre les milliers.

    j'ai essayé un format(mon nb, "### ### ###,0) mais sans succès, j'ai essayé de trouvé via google, que dalle...


    Auriez-vous une solution????

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ce n'est pas au niveau du DataTable qu'il faut gérer ça, mais au niveau du DataGridView.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.Columns("Prix (en €)").DefaultCellStyle.Format = "c"
    (pour un format de type "devise")

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Par défaut C'est-a-dire?
    le format devise, c'est juste system.devise?

    Edit,

    ton code avec le "c" nemarche pas, cela me dit :

    "La reference d'objet n'est pas défini à une instance d'objet"????

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as peut-être nommé différemment la colonne dans le DataGridView... remplace "Prix (en €)" par le vrai nom de la colonne (dans le DataGridView, pas dans la DataTable).
    Sinon tu peux faire la même chose en passant par le designer

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Par défaut Ok
    C'est bon, ca marche, merci !

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

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