Problème avec DataGridView en VB express
mernova
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous
je suis nouveau dans ce forum, avant je remercie tous le monde.
nouveau en programmation , je fais un petit programme avec visual basic express 2010, avec juste des textbox, des labels et des datagridview et sans base de données. tout fonctionne bien sauf un petit soucis, sur une des colonnes de datagridview ou j'ai besoin d'un total en décimal sur textbox, le total se fait normal mais le problème réside dans la saisie des chiffres dans cette colonne. exemple si l'utilisateur saisie par erreur deux virgules après un chiffre j'ai cette erreur "Le format de la chaîne d'entrée est incorrect."
voici le code
merci à toute personne qui veut bien m'aider je me casse la tête depuis un mois sans résultat,
j'ai beau cherché sur le net.
bye
je suis nouveau dans ce forum, avant je remercie tous le monde.
nouveau en programmation , je fais un petit programme avec visual basic express 2010, avec juste des textbox, des labels et des datagridview et sans base de données. tout fonctionne bien sauf un petit soucis, sur une des colonnes de datagridview ou j'ai besoin d'un total en décimal sur textbox, le total se fait normal mais le problème réside dans la saisie des chiffres dans cette colonne. exemple si l'utilisateur saisie par erreur deux virgules après un chiffre j'ai cette erreur "Le format de la chaîne d'entrée est incorrect."
voici le code
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click If DataGridView1.RowCount > 1 Then End If Dim iTax As Decimal = 0 For index As Decimal = 0 To DataGridView1.RowCount - 1 iTax += Convert.ToDecimal(DataGridView1.Rows(index).Cells(2).Value) Next Me.TextBox1.Text = iTax End Sub
merci à toute personne qui veut bien m'aider je me casse la tête depuis un mois sans résultat,
j'ai beau cherché sur le net.
bye
A voir également:
- Problème avec DataGridView en VB express
- Nero express - Télécharger - Gravure
- Express zip - Télécharger - Compression & Décompression
- Photo express - Télécharger - Retouche d'image
- Vb - Télécharger - Langages
- Express burn - Télécharger - Gravure
2 réponses
Bonsoir
SI je t'envoie une lettre avec 1,234,567 vas tu penser qu'en fait c'est 1,234567 mais que je me suis trompé et j'ai écris une virgule de trop?
Non? Et bien VB non plus, quand tu lui dit
Tu lui dit le texte qui est dans la cellule c'est un Decimal.
Si en fait ça n'est pas un décimal, ça bogue.
Il y a récemment eu une longue discussion sur le sujet, je ne vais pas tout refaire
https://codes-sources.commentcamarche.net/forum/affich-10069961-multiplication-entre-textbox#7
Cependant, ton utilisation du Datagridview n'est pas la bonne.
En écrivant une classe dédiée et en bindant une collection de cette classe sur ton Datagridview, c'est le binding qui gérerait les problèmes de conversions.
Voir ici
https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource
si l'utilisateur saisie par erreur deux virgules après un chiffre j'ai cette erreur "Le format de la chaîne d'entrée est incorrect."
SI je t'envoie une lettre avec 1,234,567 vas tu penser qu'en fait c'est 1,234567 mais que je me suis trompé et j'ai écris une virgule de trop?
Non? Et bien VB non plus, quand tu lui dit
Convert.ToDecimal(DataGridView1.Rows(index).Cells(2).Value)
Tu lui dit le texte qui est dans la cellule c'est un Decimal.
Si en fait ça n'est pas un décimal, ça bogue.
Il y a récemment eu une longue discussion sur le sujet, je ne vais pas tout refaire
https://codes-sources.commentcamarche.net/forum/affich-10069961-multiplication-entre-textbox#7
Cependant, ton utilisation du Datagridview n'est pas la bonne.
En écrivant une classe dédiée et en bindant une collection de cette classe sur ton Datagridview, c'est le binding qui gérerait les problèmes de conversions.
Voir ici
https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource
donc il n y a pas d'autres solutions sans le code source et utilsation du binding?