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

C# Discussion :

probleme nullReferenceException datagridview


Sujet :

C#

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Par défaut probleme nullReferenceException datagridview
    bonjour,
    j'ai 2 datagridview que je remplie a partir d'un dataset
    et les 2 datagridview sont deepandant : selon la ligne selectionné dans le premier datagridview on remplie le deuxieme de la base
    et selon la ligne selectionné dans la 2 datagridview je remplie un richtextbox
    mon probleme c'est lorsque je selectionne une ligne dans le premier datagridview et qu'i na pas d'enregistrement correspondant qui vont etre mis dans le deuxieme alors il me genere l'exception :
    nullReferenceException : La référence d'objet n'est pas définie à une instance d'un objet
    et voila la methode ou il y a l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void dataGridView3_SelectionChanged(object sender, EventArgs e)
            {
                if (dataGridView3.DataSource != null && dataGridView3.SelectedRows.Count >0)
                {
                    // cette methode pour charger le richtextbox
                    loadContatcsDescription(nom_societe, 
                            dataGridView3.SelectedRows[0].Cells["Nom_TYPECONTACT"].Value.ToString(), //cette ligne genere l'erreur
                            dataGridView3.SelectedRows[0].Cells["DATE_CONTACT"].Value.ToString()); //et celle_ci : ce sont les colonnes de la 2 datagridview
                }
     
     
            }
    et voila la methode avec laquelle je charge la 2 datagridview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void loadContatcs(string nom_societe)
            {
                dataGridView3.DataSource = null ;
                CnxAcces conn = new CnxAcces();
                DataSet a = conn.getDataset("select DATE_CONTACT, Nom_TYPECONTACT from CONTACTSOC,TypeCONTACT where CONTACTSOC.CODE_TYPECONTACT=TypeCONTACT.CODE_TYPECONTACT and CONTACTSOC.CODE_SOCIETE = (select CODE_SOCIETE from societe where NOM_SOCIETE ='" + nom_societe + "')");
                if (a.Tables.Count > 0) 
                {
                    dataGridView3.DataSource = a.Tables[0];
                    dataGridView3.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    dataGridView3.Rows[0].Selected = true;
                    dataGridView3.MultiSelect = false;
                }
     
            }
    et voila la methode pour charger le richtextbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void loadContatcsDescription(string nom_societe, string nom_type_contact, string date_contact)
            {
                CnxAcces conn = new CnxAcces();
                //DataSet a = conn.getDataset("select CODE_TYPECONTACT from TypeCONTACT where Nom_TYPECONTACT ='" + nom_type_contact + "'");
                DataSet a = conn.getDataset("select DESCRIPTION from CONTACTSOC where CONTACTSOC.CODE_TYPECONTACT= (select CODE_TYPECONTACT from TypeCONTACT where Nom_TYPECONTACT ='" + nom_type_contact + "') and CONTACTSOC.DATE_CONTACT = '" + date_contact + "' and CONTACTSOC.CODE_SOCIETE = (select CODE_SOCIETE from societe where NOM_SOCIETE ='" + nom_societe + "')");
                string tmp = dataGridView3.SelectedRows[0].Cells["Nom_TYPECONTACT"].Value.ToString();
                System.Console.WriteLine("suisje  ");
                //richTextBox1.Text = "jranran" + dataGridView3[1, 0].Value.ToString();
                    if(a.Tables[0].Rows.Count != 0)
                        richTextBox1.Text = a.Tables[0].Rows[0].ItemArray[0].ToString();
            }
    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    C'est normal au vu du code que tu as mis.

    Plutôt de que de faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     if (a.Tables.Count > 0) 
                {
                    dataGridView3.DataSource = a.Tables[0];
                    dataGridView3.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    dataGridView3.Rows[0].Selected = true;
                    dataGridView3.MultiSelect = false;
                }
    Écrit plutôt ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (a.Tables[0].Rows.Count > 0) 
                {
                    dataGridView3.DataSource = a.Tables[0];
                    dataGridView3.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    dataGridView3.Rows[0].Selected = true;
                    dataGridView3.MultiSelect = false;
                }

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Par défaut
    c'est tout a fait ca
    merci

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

Discussions similaires

  1. Probleme étrange, Datagridview export Excel
    Par erigoal dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/03/2010, 14h09
  2. probleme avec datagridview
    Par hervino dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/07/2009, 08h21
  3. Probleme avec DataGridView.Rows.Add
    Par lexius dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/05/2008, 21h17
  4. [C#]Problemes selection DatagridView
    Par Papy_Guik dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/09/2007, 14h03
  5. Probleme de datagridview(Débutant)
    Par San_25 dans le forum Windows
    Réponses: 1
    Dernier message: 04/05/2007, 12h50

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