Votre question

detecter changement selection datagridview c#

Tags :
  • Selection
  • DataGridView
  • Programmation
Dernière réponse : dans Programmation
8 Mars 2012 08:51:30

bonjour,

dans une fenetre en c# : j'ai deux tables que je charge a partir de la base de donnes
(datagridview.datasource = ....)
alors pour le moment c'est bon
je veux que lorsque l'utilisateur selectionne (soit par la souris soit par le clavier) une autre ligne dans le premier tableau alors je recupere la valeur de la premiere cellule de cette ligne selectionné et je l'utilise dans une requette pour recharger la deuxieme table selon ma lougne selectionné :
alors mon probleme c'est que je n'arrive pas a detecter qu'il a selectionné une autre ligne
avec un bouton ca marché :
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. loadPersonne(dataGridView1.CurrentRow.Cells["NOM_SOCIETE"].Value.ToString());
  4. }

avec
  1. public void loadPersonne(string nom_societe)
  2. {
  3. CnxAcces conn = new CnxAcces();
  4. DataSet a = conn.getDataset("select NOM, PRENOM, NOM_FONCTION, TEL, FAX, GSM, EMAIL from PERSONNE, FONCTION where PERSONNE.CODE_FONCTION = FONCTION.CODE_FONCTION and PERSONNE.CODE_SOCIETE = (select CODE_SOCIETE from SOCIETE where NOM_SOCIETE ='"+nom_societe+"')");
  5. dataGridView2.DataSource = a.Tables[0];
  6. dataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
  7. dataGridView2.MultiSelect = false;
  8.  
  9. }


mais avec l'evenement de la table non
  1. private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
  2. {
  3. int ligne = e.RowIndex;
  4. loadPersonne(dataGridView1[ligne, 0].Value.ToString());
  5. }


j'ai voulu utilisé l'evenement selectionchanged mais j'ai pas su



merci d'avance

Autres pages sur : detecter changement selection datagridview

a c 232 L Programmation
8 Mars 2012 10:01:48

Salut,

C'est l'évènement SelectionChanged qu'il faut utiliser comme tu pensais.
  1. private void dataGridView1_SelectionChanged(object sender, EventArgs e)
  2. {
  3. loadPersonne(dataGridView1.SelectedRows[0].Cells["NOM_SOCIETE"].Value.ToString());
  4. }
8 Mars 2012 16:33:56

oui c'est ca
et je dois ajouter :
this.dataGridView1.SelectionChanged += this.dataGridView1_SelectionChanged;
a c 232 L Programmation
8 Mars 2012 16:47:35

Tout à fait
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS