Datagridview selection click droit

Résolu
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 - 2 janv. 2007 à 11:53
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 - 3 janv. 2007 à 11:35
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)

5 réponses

cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
2 janv. 2007 à 17:41
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
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
2 janv. 2007 à 20:19
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-
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
2 janv. 2007 à 20:34
Précison: il faut déselectionner les lignes sélectionnée au préalable pour ne pas avoir un "multi-select"

-Blog-
3
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 3
2 janv. 2007 à 18:19
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 3
3 janv. 2007 à 11:35
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!!!
0
Rejoignez-nous