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

Windows Forms Discussion :

Formatage des données dans un datagrid


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Formatage des données dans un datagrid
    Bonjour,

    Ma question concerne le formatage des données dans un datagrid.
    J'ai une solution qui permet de formater les colonnes entiéres facilement en créant un style et en l'associant à la colonne par exemple

    // Declaration
    System.Windows.Forms.DataGridViewCellStyle dgvCellStyledecimal = new System.Windows.Forms.DataGridViewCellStyle();

    // Formatage de base Windows en décimal avec 2 chiffres aprés la virgule
    dgvCellStyledecimal.Format = "N2";
    // Le contenu de la cellule se positionnera au milieu
    dgvCellStyledecimal.Alignment = DataGridViewContentAlignment.MiddleRight;
    // les valeurs nulles seront remplcées par
    dgvCellStyledecimal.NullValue = null;

    Puis il faut associer ce style à la colonne de la façon suivante:
    // DtGV est mon DataGridView
    DtGV.Columns[i].DefaultCellStyle = dgvCellStyledecimal;

    Cette solution est bien mais elle est perturbante pour les utilisateurs car comme il y a un espace entre les centaines et les milliers les données ne sont pas exploitable directement dans Excel

    J'ai donc commencé à faire des modifications au niveau des paramétres regionaux pour enlever cet espace et miracle CA MARCHE

    // Copie des paramétres regionaux en cours
    CultureInfo TotoCulture = new CultureInfo("fr-FR", true);
    // Modifications
    // Largeur du groupe à 0
    TotoCulture.NumberFormat.NumberGroupSizes = new int[1] { 0 };
    // Nombre de chiffre aprés la "virgule"
    TotoCulture.NumberFormat.NumberDecimalDigits = 2;
    TotoCulture.NumberFormat.CurrencyDecimalDigits = 2;
    // Remplacement de la virgule par p
    TotoCulture.NumberFormat.NumberDecimalSeparator = "p";

    J'arrive a associer cette culture à mon style
    dgvCellStyledecimal.FormatProvider = (IFormatProvider)TotoCulture;

    jusque là tout va bien mais le problème arrive lorsque je veux associer ce style à la colonne j'utilise toujours la même chose
    DtGV.Columns[i].DefaultCellStyle = dgvCellStyledecimal;

    mais là le "p" pour séparer les éléments est bien pris
    mais j'ai tous mes chiffres aprés !!!!

    Le problème s'est donc déplacé d'un espace de trop entre les groupes de chiffres vers les chiffres aprés la virgule qui ne sont pas masqués !!

    Quelqu'un aurait une idée ?

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Salut,

    je repasse sur mon post pour mettre la solution que j'ai utilisé.
    Au lieu de me prendre la tête avec les paramétres régionaux je me suis dis que j'allais faire du bourrin et simpliste du coup au lieu d'utiliser les formatages windows :
    dgvCellStyledecimal.Format = "N2";

    j'ai utilisé la formule suivante
    dgvCellStyledecimal.Format = "#####.##";

    Cette formule permet de mettre 2 chiffres aprés la virgule et de ne pas avoir d'espace entre les centaines et les milliers

    si on voulait séparer chaque chiffre par toto on aurait écrit
    dgvCellStyledecimal.Format = "#toto#toto#toto#toto#.#toto#";

    si on avait voulu mettre 4 chiffres aprés la virgule on aurait marqué
    dgvCellStyledecimal.Format = "#####.####";

    Parfois il n'est pas nécessaire de chercher midi à quatorze heures ....

    @+

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/07/2010, 11h59
  2. C# et WPF : comment afficher des données dans une DataGrid (to bind or not to bind ?!?)
    Par jmnicolas dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 31/05/2010, 15h03
  3. Formatage des données dans le fichier de sortie
    Par ipnote dans le forum z/OS
    Réponses: 4
    Dernier message: 18/03/2010, 15h48
  4. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14
  5. [MySQL] Formatage des données dans un tableau
    Par dunbar dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/06/2006, 08h52

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