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 :

System NullReference Exception


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut System NullReference Exception
    Bonjour

    Lorsque je lance le petit prog voici ce que j'ai comme message

    System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet. ( sur la ligne : If DgContact.Rows(i).Cells("Nom").Value.ToString.Trim <> "" Then)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      For i = 0 To DgContact.Rows.Count - 1
     
                      If DgContact.Rows(i).Cells("Nom").Value.ToString.Trim <> "" Then
     
                            ControleChamps.CheckMailAdresse(DgContact.Rows(i).Cells("EMail").Value.ToString.Trim)
     
                  DbList.items.add(UCase(DgContact.Rows(i).Cells("Nom").Value.ToString.Trim) & _
     
                            DgContact.Rows(i).Cells("EMail").Value.ToString.Trim)
     
     
                      End If
     
                Next
    le datagridviewer lui est rempli manuellement , mais initialisé comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     For i = 0 To DgContact.Rows.Count - 1
                      For j = 0 To DgContact.Columns.Count - 1
                           DgContact.Rows(i).Cells(j).Value = String.Empty
                      Next
                Next
    Ou ais-je commit l'erreur

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    De quel type est la variable DgContact ?
    Il est possible que l'appel à une cellule ne soit pas possible vie le nom de la colonne, mais uniquement un indice de tableau, comme tu l'as fait pour l'initialisation : Cells("Nom") Cells(j)

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour Skalp

    DgContact est le nom du datagridviewer

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If DgContact.Rows(i).Cells("Nom").Value.ToString.Trim <> ""
    bon:
    soit c'est dgContact qui est null (peu de chance car ca aurait planté plutot)
    soit c'est Rows(i) qui est hors index (peu de change car ca aurait planté plutot)
    soit la Cells("Nom") qui n'existe pas
    soit c'est la Valeur qui est a null (cas le plus probable)

    et donc remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If String.IsNullOrEmpty(string(DgContact.Rows(i).Cells("Nom")) then ...
    si tu veux vraiment le trim tu ajoutes une méthode helper qui :
    1)Test si la variable est à null
    2)Sinon c'est non Test String.IsNullOrEmpty(variable.Trim())

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Dans le mille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If String.IsNullOrEmpty(string(DgContact.Rows(i).Cells("Nom")) then ...

    grand merci

    Autre petite question , sur la quelle j'ai déjà butter

    Si je modifie une cellule , et que je click directement sur le bouton valider ,la modification n'est pas pris en compte. par contre si je tape sur Enter pour valider la cellule, là sa marche.

    Y a t'il un moyen de "Valider" la cellule autrement que par ENTER

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/08/2011, 16h39
  2. Réponses: 10
    Dernier message: 30/01/2010, 19h43
  3. Réponses: 6
    Dernier message: 25/09/2007, 13h33
  4. [System.load] Exception java.lang.UnsatisfiedLinkError avec unknown file type
    Par jemini_fr dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 05/02/2007, 13h52
  5. [C#] Nullreference exception
    Par padodanle51 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/05/2006, 12h33

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