Problème avec DataGridView en VB express

Fermé
mernova Messages postés 2 Date d'inscription mardi 1 novembre 2016 Statut Membre Dernière intervention 2 novembre 2016 - Modifié par crapoulou le 1/11/2016 à 19:34
 Utilisateur anonyme - 2 nov. 2016 à 17:26
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
 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:

2 réponses

Utilisateur anonyme
1 nov. 2016 à 20:19
Bonsoir

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


0
mernova Messages postés 2 Date d'inscription mardi 1 novembre 2016 Statut Membre Dernière intervention 2 novembre 2016
2 nov. 2016 à 17:17
merci pour votre réponse Whismeril
donc il n y a pas d'autres solutions sans le code source et utilsation du binding?
0
Utilisateur anonyme
2 nov. 2016 à 17:26
donc il n y a pas d'autres solutions sans le code source et utilsation du binding?


je ne suis pas sûr de comprendre ce que cela veut dire.
0