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

Messages postés
62
Date d'inscription
vendredi 19 janvier 2007
Dernière intervention
29 juin 2008
- 27 juin 2008 à 11:13 - Dernière réponse :
Messages postés
1
Date d'inscription
lundi 4 décembre 2000
Dernière intervention
7 août 2008
- 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 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
62
Date d'inscription
vendredi 19 janvier 2007
Dernière intervention
29 juin 2008
29 juin 2008 à 23:23
3
Merci
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);

Merci HansPrestat 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de HansPrestat
Messages postés
14240
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
21 novembre 2018
27 juin 2008 à 17:24
0
Merci
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
Messages postés
62
Date d'inscription
vendredi 19 janvier 2007
Dernière intervention
29 juin 2008
27 juin 2008 à 19:20
0
Merci
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
Messages postés
62
Date d'inscription
vendredi 19 janvier 2007
Dernière intervention
29 juin 2008
27 juin 2008 à 19:21
0
Merci
Merci pour ta solution buno car ça m'a mis sur la piste.
Commenter la réponse de HansPrestat
Messages postés
62
Date d'inscription
vendredi 19 janvier 2007
Dernière intervention
29 juin 2008
27 juin 2008 à 19:22
0
Merci
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
Messages postés
1
Date d'inscription
lundi 4 décembre 2000
Dernière intervention
7 août 2008
7 août 2008 à 12:53
0
Merci
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.