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 separateur de millier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Par défaut DatagridView et separateur de millier
    Bonjour,

    j'ai cherché sur le forum sans trouver une réponse du coup je me suis permis de lancer une nouvelle discussion.

    voila, j'ai un datagridview avec 6 columns

    je n'arrive pas à mettre un séparateur de millier sur la 6éme column (genre faire entrer "2000,50" qui doit devenir "2 000,50"

    j'ai éssayé sa mais en vain :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    
    datagridview1.Columns(5).DefaultCellStyle.Format = "N2"
    ou sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    
    datagridview1.Columns(5).DefaultCellStyle.Format = "5459.4, "## ##0.00""
    j'ai désactivé l'ajout manuel, je fais un traitement sur quelques zones de texte et je valide avec un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Label13.Text > 0 Then
                    DataGridView1.Rows.Add()
                    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(0).Value = ComboBox2.Text
                    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(1).Value = TextBox2.Text
                    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(2).Value = TextBox3.Text
                    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(3).Value = TextBox4.Text
                    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(4).Value = TextBox5.Text
                    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(5).Value = Label13.Text
                End If
    je précise que le label13 et déjà traité (decimal) et à la fin tout ce qui est dans le datagridview va à une base de données SQL decimal(18,2)

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nomcolonne.DefaultCellStyle.Format = "N2"
    Logiquement c'est ce qu'il faut utiliser, le "N" donne le style numérique donc le séparateur de milliers, le "2" donne le nombre de décimales.

    Quand à l'alignement cela est indépendant du format.

    Peut-être que c'est parce que tu ajoutes tes lignes manuellement.

    Tu génères ton DGV par le code ou en mode création ? Même question pour les colonnes.

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Par défaut
    Citation Envoyé par methylene Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nomcolonne.DefaultCellStyle.Format = "N2"
    Tu génères ton DGV par le code ou en mode création ? Même question pour les colonnes.
    Puisque je suis sur Visual studio 2008, je met le DGV en le glissant, et au cas ou je dois changé une propriété, je met le code au load du formulaire

    j'ai ajouté les columns en mode création, et j'ai éssayé de mettre le format en numérique de la column en question, sa se valide, mais pas de séparateur de millier aprés l'ajout d'un row du coup je suis passer au code, mais rien à faire.

    comme t'as dis, c'est peut être un problème avec l'ajout, mais je ne vois pas lequel:

    le label est traité et la valeur est en décimal (xxxxxxxx,xx) et même en utilisant decimal.parse(label13.text) ça ne marche pas.

    ça m'a vraiment cassé la tête

  4. #4
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    On va résumé :

    Donc tu crées bien ton DGV via le mode création, même chose pour les colonnes.

    Avant tu avais essayé de mettre le Defautstyle via les options des colonnes ("Modifier une colonne") du mode création.

    Cela ne fonctionnant pas, tu es passé au code avec la ligne de code que j'ai marqué précédemment.

    Donc, est-ce que tu as mis un format sur les autres colonnes, et ce format fonctionne-t-il ?

    Sinon en attendant tu peux toujours essayer un DataGrid1.Resfresh() à la fin de ton Sub du Bouton.Click

  5. #5
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Ou sinon tu peux aussi essayer cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.Rows.Item(DataGridView1.RowCount - 1).Cells(5).Value = Csng(Label13.Text)
    le "Csng()".

  6. #6
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Par défaut
    J'ai appliqué un autre format à une autre colonne, et comme par magie ça a marché o_O" ne me demandez pas pourquoi xD

    methylene tu me sauves la vie ^^ merci beacoup pour ton aide, et merci aussi pour Csng() je connaissais pas


    Ps: c'est ou pour marquer que le sujet est résolu?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2012, 22h14
  2. separateur de milliers
    Par debutantasp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/12/2009, 17h10
  3. separateur des milliers
    Par rvzip64 dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2009, 15h43
  4. Numéro auto avec separateur de milliers
    Par debutantasp dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 04/02/2008, 12h09
  5. formatnumber et separateur de millier
    Par trialrofr dans le forum ASP
    Réponses: 6
    Dernier message: 27/01/2005, 14h21

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