Datagridview selection click droit [Résolu]

cs_Kassidy 97 Messages postés lundi 2 mai 2005Date d'inscription 21 mars 2008 Dernière intervention - 2 janv. 2007 à 11:53 - Dernière réponse : cs_Kassidy 97 Messages postés lundi 2 mai 2005Date d'inscription 21 mars 2008 Dernière intervention
- 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)
Afficher la suite 

5 réponses

Répondre au sujet
cs_RMI 305 Messages postés vendredi 18 juillet 2003Date d'inscription 2 août 2010 Dernière intervention - 2 janv. 2007 à 17:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_RMI
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 2 janv. 2007 à 20:19
+3
Utile
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-
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 2 janv. 2007 à 20:34
+3
Utile
Précison: il faut déselectionner les lignes sélectionnée au préalable pour ne pas avoir un "multi-select"

-Blog-
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Bidou
cs_Kassidy 97 Messages postés lundi 2 mai 2005Date d'inscription 21 mars 2008 Dernière intervention - 2 janv. 2007 à 18:19
0
Utile
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
Commenter la réponse de cs_Kassidy
cs_Kassidy 97 Messages postés lundi 2 mai 2005Date d'inscription 21 mars 2008 Dernière intervention - 3 janv. 2007 à 11:35
0
Utile
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!!!
Commenter la réponse de cs_Kassidy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.