bonsoir
Je développe une application gestion BD.j'ai un combobox et une gridview qui affiche des info.
voici une part du code de l'evenement selectedindexchange:
et voici l'evenement contactDataGridView_SelectionChanged
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 private void Combo_Prov_SelectedIndexChanged(object sender, EventArgs e) // remplir gridview { nomprov_to_codprov(Combo_Prov.Text); //try // { if (accConnection.State == ConnectionState.Open) { StrSQL = "SELECT Contact.Code_contact AS Code ,Contact.Fonction, Contact.FirstName AS Nom, Contact.LastName AS Prénom, Contact.Phone_contact1 AS Téléphone1, Contact.Phone_Contact2 AS Téléphone2 FROM Province INNER JOIN Contact ON Province.Code_Prov = Contact.Code_Prov WHERE (((Province.Name_Prov)=@param2)) "; strSQL2 = "SELECT Province.Phone_Prov, Province.Phone_office FROM Province WHERE (((Province.Name_Prov)=@Param2))"; accCommand.Connection = accConnection; accCommand.CommandText = StrSQL; accCommand.CommandType = CommandType.Text; accCommand.Parameters.Add("@Param2", OleDbType.Char).Value = Combo_Prov.Text; ContactAdapter = new OleDbDataAdapter(accCommand); ContactTable = new DataTable(); ContactAdapter.Fill(ContactTable); BindingSource bS = new BindingSource(); contactDataGridView.DataSource = ContactTable; bS.DataSource = ContactTable; contactDataGridView.Columns[0].Visible = false;
Lors de la première exécution et changement de la valeur du combo tout se passe bien mais une fois je change une autre fois la valeur du combo y a une exception de type object not set to a reference
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 private void contactDataGridView_SelectionChanged(object sender, EventArgs e) { DataGridViewRow ligne = contactDataGridView.CurrentRow; MessageBox.Show(contactDataGridView.RowCount.ToString()); // index du row MessageBox.Show(ligne.Cells[1].Value.ToString()); index_row = contactDataGridView.CurrentRow.Index; //identifiant de l'enregistrement string indentifiant = (ligne.Cells[0].Value.ToString()); identifiant = int.Parse(indentifiant); fonction = (ligne.Cells[1].Value.ToString()); nom = (ligne.Cells[2].Value.ToString()); prenom = (ligne.Cells[3].Value.ToString()); Telephone1 = (ligne.Cells[4].Value.ToString()); Telephone2 = (ligne.Cells[5].Value.ToString()); }
J ai utilisé des breakpoints pour voir de plus pres,alors j ai constaté que la variable ligne à la première exécution est remplie mais une fois je passe à une autre valeur du combo elle est NULL et c est ce qui déclenche l'erreur
Merci pour votre aide
Partager