Récupérer le numéro de ligne d'un DatagridView [Résolu]

HansPrestat 62 Messages postés vendredi 19 janvier 2007Date d'inscription 29 juin 2008 Dernière intervention - 27 juin 2008 à 11:13 - Dernière réponse : jadove 1 Messages postés lundi 4 décembre 2000Date d'inscription 7 août 2008 Dernière intervention
- 7 août 2008 à 12:53
Bonjour,

Je souhaiterai récupérer le numéro de la ligne de mon DataGridView quand je la sélectionne ou lorsque je clique dans une de ses céllule.

PS: J'utilise tellement ce forum que j'ai bien envie de devenir membre club...
Afficher la suite 

6 réponses

Répondre au sujet
HansPrestat 62 Messages postés vendredi 19 janvier 2007Date d'inscription 29 juin 2008 Dernière intervention - 29 juin 2008 à 23:23
+3
Utile
Ca c'est la bonne solution:

int ligneDuClic;

//recupérer les coordonnées de la souris
Point p =
new
Point(e.X, e.Y);

//déterminer la partie clickée du datagrid
DataGrid.
HitTestInfo HTI = gridViewIncidents.HitTest(p);

//On récupère le numéro de ligne où il y a eu un clic.
ligneDuClic = HTI.Row;

MessageBox.Show(ligneDuClic);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de HansPrestat
BunoCS 13764 Messages postés lundi 11 juillet 2005Date d'inscription 20 avril 2018 Dernière intervention - 27 juin 2008 à 17:24
0
Utile
Hello,
Essaie DataGridView.CurrentRow peut-être

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Commenter la réponse de BunoCS
HansPrestat 62 Messages postés vendredi 19 janvier 2007Date d'inscription 29 juin 2008 Dernière intervention - 27 juin 2008 à 19:20
0
Utile
Voila la solution:

<code class="csharp_keyword2">

using
System
;
using
System
.
Drawing
;
using
System
.
Windows
.
Forms
;
//
...
private
void
DG_MouseUp
(
object
sender
,
MouseEventArgs e)
{
//
recupérer
les
coordonnées
de
la
souris

Point p
=
new
Point
(e
.
X
,
e
.
Y)
;
//
déterminer
la
partie
clickée
du
datagrid

DataGrid
.
HitTestInfo HTI
=
DG
.
HitTest
(p)
;
//
si
c'est
un
type
'cellule'
if
(HTI
.
Type
=
=
DataGrid
.
HitTestType
.
Cell)
{
//
définir
la
cellule
en
cours

DG
.
CurrentCell
=
new
DataGridCell
(HTI
.
Row
,
HTI
.
Column)
;
//
selectionner
la
ligne
correspondante

DG
.
Select
(HTI
.
Row)
;
}
}
</code>
Commenter la réponse de HansPrestat
HansPrestat 62 Messages postés vendredi 19 janvier 2007Date d'inscription 29 juin 2008 Dernière intervention - 27 juin 2008 à 19:21
0
Utile
Merci pour ta solution buno car ça m'a mis sur la piste.
Commenter la réponse de HansPrestat
HansPrestat 62 Messages postés vendredi 19 janvier 2007Date d'inscription 29 juin 2008 Dernière intervention - 27 juin 2008 à 19:22
0
Utile
Il semblerait qu'il y ait eu un bug donc je reposte la solution:
using System
;

using
System
.
Drawing
;

using
System
.
Windows
.
Forms
;

//
...

private
void
DG_MouseUp
(
object
sender
,
MouseEventArgs e)
{

  
//
recupérer
les
coordonnées
de
la
souris

   Point p
=
new
Point
(e
.
X
,
e
.
Y)
;

  
//
déterminer
la
partie
clickée
du
datagrid

   DataGrid
.
HitTestInfo HTI
=
DG
.
HitTest
(p)
;

  
//
si
c'est
un
type
'cellule'

  
if
(HTI
.
Type
=
=
DataGrid
.
HitTestType
.
Cell)
    
{

        
//
définir
la
cellule
en
cours

         DG
.
CurrentCell
=
new
DataGridCell
(HTI
.
Row
,
HTI
.
Column)
;

        
//
selectionner
la
ligne
correspondante

         DG
.
Select
(HTI
.
Row)
;

    
}

}
Commenter la réponse de HansPrestat
jadove 1 Messages postés lundi 4 décembre 2000Date d'inscription 7 août 2008 Dernière intervention - 7 août 2008 à 12:53
0
Utile
sans la souris

int NumLigne = DGresultats.CurrentRow.Index ;
Commenter la réponse de jadove

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.