cs_smiloo
Messages postés4Date d'inscriptionmercredi 6 février 2008StatutMembreDernière intervention17 février 2008
-
16 févr. 2008 à 10:54
cs_smiloo
Messages postés4Date d'inscriptionmercredi 6 février 2008StatutMembreDernière intervention17 février 2008
-
17 févr. 2008 à 22:08
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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 16 févr. 2008 à 17:07
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)
cs_smiloo
Messages postés4Date d'inscriptionmercredi 6 février 2008StatutMembreDernière intervention17 février 2008 16 févr. 2008 à 17:33
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?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 17 févr. 2008 à 12:48
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
cs_smiloo
Messages postés4Date d'inscriptionmercredi 6 février 2008StatutMembreDernière intervention17 février 2008 17 févr. 2008 à 22:08
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.