Partage
  • Partager sur Facebook
  • Partager sur Twitter

detecter changement selection datagridview

Sujet résolu
    8 mars 2012 à 8:46:54

    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é :
    private void button1_Click(object sender, EventArgs e)
            {
                 loadPersonne(dataGridView1.CurrentRow.Cells["NOM_SOCIETE"].Value.ToString());
            }
    

    avec
    public void loadPersonne(string nom_societe)
            {
                CnxAcces conn = new CnxAcces();
                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+"')");
                dataGridView2.DataSource = a.Tables[0];
                dataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                dataGridView2.MultiSelect = false;
    
            }
    


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


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



    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2012 à 10:47:53

      -Propriété SelectionMode
      -Event SelectionChanged
      -Propriété SelectedRows

      //[...]
      taDataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//Pour garantir que la sélection ne peut s'effectuer que sur les lignes et que le rendu visuel de sélection met en surbrillance toute la ligne (plutôt que surbriller uniquement l'entête de ligne)
      taDataGridView.SelectionChanged += this.MyDGV_SelectionChanged;
      
      //[...]
      private void MyDGV_SelectionChanged(Object sender, EventArgs e)
      {
          //Ce code ne fonctionne que si tu as utilisé la liaison de données et pas le remplissage de la DGV manuel.
          if(taDataGrisView.SelectedRows.Count != 0)
          {
              foreach(DataGridViewRow row in taDataGridView.SelectedRows)
              {
                  Object tonObjectUtilisateur = row.DataBoundItem;
                  //Ton code ici avec un cast sur la ligne du dessus si besoin est.
              }
              //Tu peux aussi faire taDataGridView.SelectedRows[0] si tu es certain qu'il n'y a qu'une seule ligne sélectionnée.
          }
          else
          {
              //Le code lorsqu'aucune ligne n'est sélectionnée.
          }
      }
      
      • Partager sur Facebook
      • Partager sur Twitter

      detecter changement selection datagridview

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown