Datagridview selection click droit [Résolu]

Signaler
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
-
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
-
Bonjour,

j'aimerais savoir comment faire pour séléctionner une ligne dans un datagridview avec un click droit?

je pase par un evenement CellMouseUp:

private void mon_tableau_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
    int ligne;
    //récupere bien l'index de la ligne cliqué
    ligne = e.RowIndex;
            
    //comment faire pour que la ligne cliqué soit séléctionné?

    //
ne fonctionne pas (sert juste activer le controle)


    //tab_resultat_rech_contact.Select(ligne);
}

merci beaucoup

(ps: je suis sous visual c# express 2005,je fait du winform)
A voir également:

5 réponses

Messages postés
305
Date d'inscription
vendredi 18 juillet 2003
Statut
Membre
Dernière intervention
2 août 2010
2
Essai de positionner cet évènement
dgvExoSelect est le datagridview

   private void dgvExoSelect_MouseDown(object sender, MouseEventArgs e)
    {
      if (e.Button == MouseButtons.Right)
      {
        DataGridView.HitTestInfo myHitInfo = dgvExoSelect.HitTest(e.X, e.Y);
        if (myHitInfo.RowIndex > -1)          if (myHitInfo.ColumnIndex >0) dgvExoSelect.CurrentCell dgvExoSelect.Rows[myHitInfo.RowIndex].Cells[myHitInfo.ColumnIndex];
          else dgvExoSelect.CurrentCell = dgvExoSelect.Rows[myHitInfo.RowIndex].Cells[0];
      }
    }
Théo
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Salut,
Dans l'event MouseDown, tu peux faire comme ceci:

if (e.Button ==
MouseButtons.Right)
{
  
DataGridView.
HitTestInfo myHitInfo =
this.dataGridView1HitTest(e.X, e.Y);
  
if (myHitInfo.RowIndex > -1)
   {
     
this.dataGridView.Rows[myHitInfo.RowIndex].Selected =
true;
   }
}

-Blog-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Précison: il faut déselectionner les lignes sélectionnée au préalable pour ne pas avoir un "multi-select"

-Blog-
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
3
Merci beaucoup, mais malheureusement ça ne fonctionne
pas : je récupère pourtant  les
bonnes info pour myHitInfo.RowIndex et myHitInfo.ColumnIndex, cependant rien ne
se sélectionne.


<!--[endif]-->



Petite précision que j’avait oublié :



<!--[if !supportEmptyParas]-->


<!--[endif]-->



-j’ai un contextmenu
-le mode de sélection est FullRowSelect (j’ai essayé le
code en mettant CellSelect, car pour les ligne entier currentRows ne peut
prendre de valeur, étant en lecture seule, et ça n’a rien changé)



-je passe par VirtuaMode
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
3
Merci beacoup a tout les deux!!!!
je pense que je n'ai pas réussi a faire fonctionné la solution de théo car j'était sur l'évenement CellMouseDown au lieu de MouseDown...

Vous me retiré une fiere chandelle du pied!!!

Encore merci!!!