Probleme de Formatage de cellule

cs_smiloo Messages postés 4 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 17 février 2008 - 16 févr. 2008 à 10:54
cs_smiloo Messages postés 4 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 17 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

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
cs_smiloo Messages postés 4 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 17 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?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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
0
cs_smiloo Messages postés 4 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 17 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.
0
Rejoignez-nous