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 :
et voila la methode ou il y a l'erreurnullReferenceException : La référence d'objet n'est pas définie à une instance d'un objet
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 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 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
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; } }
merci d'avance
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(); }
Partager