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 :

Formatter les doubles dans DataGridView


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut Formatter les doubles dans DataGridView
    Salut à tous,

    La j'ai vraiment un gros problème... J'espère que c'est possible je voudrais par exemple que par défaut on affiche 2 decimal après la virgule dans mes champs DataGridView.

    Si quelqu'un a une idée qu'il n'hésite pas j'ai essayé tout les systemes mais rien n'est vraiment convaincant car sa passe par du ToString or je souhaite qu'il reste un Double

  2. #2
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Soit tu Ctype toutes les celulles de ta colonne pour arrondir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Math.Round(CType(DataGridView1.Rows(i).Cells(j).Value, Double), 2)

    Soit comme dis sur ce sujet tu peux appliquer à toute la colonne, mais cela induit que ce doit être une colonne de Double :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.Columns(i).DefaultCellStyle.Format = "n2"
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  3. #3
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Sans vouloir trop abuser comment fait on pour mettre la colonne en Double? car en faite c'est exactement ce que je cherche...

    Encore une fois merci pour la rapidité de réponse... Developper.com c'est vraiment le forum des développeurs je le conseils a tous...

  4. #4
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Ca dépend ... Comment remplis-tu ton DataGridView ? Les données proviennent-elles d'un champs "string" ou "double" d'une BDD ?

    Si via un DataSet ou un DataTable, tu peux affecter un type de données à une DataColumn avec la property DataColumn.DataType
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  5. #5
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Les données proviennent de données membres de type double donc de variable double

  6. #6
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Mmmmmh ... Alors elles sont censées être déjà de type Double ...

    Puis-je voir la section du code où tu utilises un .ToString ? Pourquoi tu utilises .ToString d'ailleurs ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  7. #7
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Bah justement je voulais pas utiliser des ToString car cela me fait des erreurs or je pensez que pour formater on avait pas le choix mais grâce a ta Format sa passe tout seul...

    Maiks le DataGridView n'est pas en Double étant donné que je peux rentrer du texte et il n'y a pas de faute. D'ailleurs j'ai du mettre un système pour forcer la conversion et afficher une erreur si pas possible...

    C'est pour cela que je dit qu'il n'est pas de type double j'ai du tout gérer pour qu'il le soit mais maintenant que tu me dit qu'il est possible de le rentre double ce serait l'occasion de simplifier mon code XD

  8. #8
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Ha ...

    Du coup, tu ne passes plus que par des doubles ? Tu peux empêcher l'user de saisir des lettres avec CellValidating si tu vas voir dans l'exemple de code, il montre comment tester pour les chiffres.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  9. #9
    Membre habitué Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Points : 178
    Points
    178
    Par défaut
    Salut,

    J'ai retesté le tout est j'ai décelé des problemes... Le premier c'est niveau algorithmique c'est pas viable la deuxieme solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.Columns(i).DefaultCellStyle.Format = "n2"
    Pourquoi pas mais bizzarement elle marche sur des colonnes ajouter via un bouton XD vraiment etrange

  10. #10
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Pourquoi pas viable ?

    Et je ne comprend pas ta dernière phrase ...
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

Discussions similaires

  1. Eliminer les doubles dans une requête
    Par ConceptInterWEB dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/01/2012, 10h28
  2. Réponses: 1
    Dernier message: 05/10/2007, 16h56
  3. Formatter un double dans une MsgBox
    Par cjacquel dans le forum IHM
    Réponses: 1
    Dernier message: 18/09/2007, 13h27
  4. Les doubles quotes dans les fprintf
    Par Changedman dans le forum C
    Réponses: 30
    Dernier message: 22/02/2007, 12h07
  5. [VBA-E] Effacer les doubles dans 1 colonne grace à une macro
    Par Stef.proxi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/08/2004, 15h44

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