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 ?
Partager