Probleme de Formatage de cellule

Signaler
Messages postés
4
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
17 février 2008
-
Messages postés
4
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
17 février 2008
-
Salut,

J'ai un DataGridView qui est rempli grace à un provider ADO.NET SQLite. J'ai une colonne "MONTANT" que j'aimerais formater comme une devise.

Je mets donc au chargement de ma form:
        VueCompte.Columns("MONTANT").CellTemplate.ValueType = Type.GetType("decimal")
        VueCompte.Columns("MONTANT").DefaultCellStyle.Format = "c"

Mais deja, premiere bizarrerie, ca ne marche pas en debuggage. Le formatage marche seulement en Release.

L'histoire aurais pu s'arreter la, mais le probleme c'est qu'il ne prends pas les decimaux en compte!
Par exemple "89013,32" seras formaté en "89 013,00 ?"

Help! Je passé un sacré moment dessus et je galere! Merci

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Le type Decimal représente des valeurs à virgule flottante allant de 79 228 162 514 264 337 593 543 950 335  à -79 228 162 514 264 337 593 543 950 335
En as-tu réellement besoin ?
Comme expliqué dans MSDN, les conversions de Decimal en d'autres types sont des conversions restrictives qui arrondissent la valeur Decimal à la valeur entière la plus proche de zéro.
Ce qui peut être ton cas puisque je pense, la colonne "Montant" ne doit pas êre de ce type.

Essaye (avec la syntaxe complète) en passant en Double (valeurs de 1,79769313486232 e308 à -1,79769313486232 e308 : Suffisant, non ?)
   System.Type.GetType("System.Double")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
4
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
17 février 2008

salut,

Merci d'avoir repondu, malheuresement ca ne marche pas. Les decimaux reste deseperement a zero. En annulant le formatage, j'ai bien les chiffres decimaux, mais bon la presentation reste a desirer. J'avoue ne pas trop savoir quoi faire. Es-ce que cela viens du provider?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
salut,

par simple curiosité.... çà donne quoi quand tu mets la valeur par variable? (au cas où la base renverrait l'entier?)
et si tu mets cette valeur avec un "." au lieu d'une "," ? ou vice versa?

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
4
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
17 février 2008

Tcho,
C'est n'importe quoi! J'ai viré les 2 lignes que j'ai cité plus haut et mais chiffres décimaux n'apparaisse toujours pas en Release, mais en Debug si! J'avoue que je comprends que dalle. Meme en mettant une valeur arbitraire toujours pas de partie decimale.
J'ai observé ma base avec SQLiteSpy et j'ai mon chiffre en entier (8970,45) mais dans mon datagridview j'ai sois 8970 sans formattage ou 8 970,00 ? avec formattage.
Je n'y comprends rien! Merci en tout cas de votre aide.