IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Anomalie dans la recupération d'une valeur de cellule d'un Datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 74
    Par défaut Anomalie dans la recupération d'une valeur de cellule d'un Datagridview
    Salut à tous

    j'ai une manifestation bizarre avec ma datagridview
    en effet je tente de récupérer la valeur d'une cellule de ma datagridview comme l'indique le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     Private Sub SelectionnerLesDocumentsFournisPourUneDemande()
            Dim Cb As New CheckBox
            Dim DtG_i As DataGridViewRow
            Dim LblLb, LblObg, LblCd, TbCom As String
            Dim IdDTD As String = ""
     
            Try
     
                'Parcourt la grille à la recherche des lignes
                If DtG_DocumentsFournis.Rows.Count > 0 Then
                    For Each DtG_i In DtG_DocumentsFournis.Rows
                        Try
     
                            Cb = DtG_i.Cells(0).Value
                            LblCd = CType(DtG_i.Cells(1).Value, String) 
                            LblLb = CType(DtG_i.Cells(2).Value, String)
                            LblObg = CType(DtG_i.Cells(3).Value, String) 
     
                        Catch ex As Exception
     
                            TbCom = ""
                            Throw New Exception(BDVarsession.MessageErreur)
                        End Try
                    Next
                End If
            Catch ex As Exception
                Throw New Exception(BDVarsession.MessageErreur)
            End Try
        End Sub
    Le problème est qu'au lieu de

    Cb = DtG_i.Cells(0).Value 'donne bien la valeur de la prémière cellule


    LblCd = CType(DtG_i.Cells(1).Value, String) ' la valeur est nothing alors que la cellule contient une données
    LblLb = CType(DtG_i.Cells(2).Value, String) ' ici c'est la valeur qui devrait être dans LblCd que contient LblLb
    LblObg = CType(DtG_i.Cells(3).Value, String) ' ici c'est la valeur qui devrait être dans LblLb que contient LblObg


    et je sais pas pourquoi ce phénomène.


    Si vous avez une réponse ou/et des suggestions je vous en pris.

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Par défaut
    Bonjour,

    DtG_i.Cells(4).Value contient quel valeur ?

    Si il contient la valeur normalement contenu dans LblObg, c'est qu'il doit y avoir un soucis d'index pour tes colonnes.

    Tu peux montré le code de ton dataGridView ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 74
    Par défaut
    je l'ai créée en utilisant le composant Datagridview avec pour colonnes ( dans l'ordre suivant) :

    sélectionner
    code
    référence
    obligatoire
    commentaire

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,

    C'est très étonnant que "Cb" de type contrôle (CheckBox) à qui on cherche à attribuer la valeur d'une cellule DGV, ne lève pas une erreur ?
    cela peut s'expliquer avec une "Option Strict" sur "Off" et un message d'erreur "BDVarsession.MessageErreur" retournant un "String.Empty"
    Il faudrait tester le code en supprimant la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cb = DtG_i.Cells(0).Value
    et voir si les variables String attrapent les bonnes valeurs.

    Puis tester avec "Cb" initialisé avec un type "Boolean"
    A noter que si la 1ère colonne "sélectionner" est de type "DataGridViewCheckBoxColumn" ou booléen, "Cb" attend une valeur de type booléen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recupération d'une valeur d'une variable de session
    Par gabdeschenes dans le forum ASP.NET
    Réponses: 16
    Dernier message: 05/06/2009, 16h52
  2. Réponses: 2
    Dernier message: 09/07/2008, 16h46
  3. Rechercher dans un fichier texte une valeur
    Par promenneur77 dans le forum Langage
    Réponses: 7
    Dernier message: 20/01/2008, 19h46
  4. Réponses: 4
    Dernier message: 20/04/2006, 00h34
  5. Réponses: 11
    Dernier message: 19/12/2005, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo