Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déplacement - DataGridView

6 réponses
Avatar
Annie L.
Comment peut-on déplacer le "curseur" dans un DataGridView ?

Je ne veux pas sélectionner la cellule "en bleu" comme ceci :

DataGridView.Rows(2).Cells(0).Selected = True

Je veux juste déplacer mon curseur !

merci de vos réponses!

6 réponses

Avatar
Gilles TOURREAU
Le Mon, 10 Dec 2007 23:53:01 +0100, Annie L.
a écrit:

Comment peut-on déplacer le "curseur" dans un DataGridView ?

Je ne veux pas sélectionner la cellule "en bleu" comme ceci :

DataGridView.Rows(2).Cells(0).Selected = True

Je veux juste déplacer mon curseur !

merci de vos réponses!



Est-ce que votre DataGridView est reliée via un BindingSource ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie L.
Non, aucun lien avec une base de données!
Mon contrôle DataGridView est complètement indépendant!

Mon problème : après avoir saisir une donnée dans un premier champ, il se
déplace au 2e champ. S'il y a une erreur dans le 1er champ, j'aimerais le
faire revenir dans le 1er champ!
"Grid.Rows(0).Cells(0).Selected = True" ne fonctionne pas pourtant j'ai
mis dans les propriétés du Grid - SelectionMode = CellSelect

Mais c'est surtout le curseur que je veux remettre dans la 1ère cellule!

Merci de votre aide!


"Gilles TOURREAU" wrote:

Le Mon, 10 Dec 2007 23:53:01 +0100, Annie L.
a écrit:

> Comment peut-on déplacer le "curseur" dans un DataGridView ?
>
> Je ne veux pas sélectionner la cellule "en bleu" comme ceci :
>
> DataGridView.Rows(2).Cells(0).Selected = True
>
> Je veux juste déplacer mon curseur !
>
> merci de vos réponses!

Est-ce que votre DataGridView est reliée via un BindingSource ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Avatar
Annie L.
En fait, même si la cellule devient "bleu" sans voir le curseur de la souris,
on peut écrire directement dans le champ sans cliquer avec la souris!
Donc, pour amener le curseur de la souris, on peut procéder ainsi :

"Grid.Rows(0).Cells(0).Selected = True"

mais le seul problème qui persiste, c'est de revenir dans le champ que l'on
vient de quitter ("CellLeave"). J'ai essayé plusieurs évènements et cela ne
fonctionne pas bien du tout car il arrive qu'il me dit "Récursivité"!

À force d'essayer toutes sortes d'évènements, je vais trouver la solution!

Merci!



"Annie L." wrote:

Non, aucun lien avec une base de données!
Mon contrôle DataGridView est complètement indépendant!

Mon problème : après avoir saisir une donnée dans un premier champ, il se
déplace au 2e champ. S'il y a une erreur dans le 1er champ, j'aimerais le
faire revenir dans le 1er champ!
"Grid.Rows(0).Cells(0).Selected = True" ne fonctionne pas pourtant j'ai
mis dans les propriétés du Grid - SelectionMode = CellSelect

Mais c'est surtout le curseur que je veux remettre dans la 1ère cellule!

Merci de votre aide!


"Gilles TOURREAU" wrote:

> Le Mon, 10 Dec 2007 23:53:01 +0100, Annie L.
> a écrit:
>
> > Comment peut-on déplacer le "curseur" dans un DataGridView ?
> >
> > Je ne veux pas sélectionner la cellule "en bleu" comme ceci :
> >
> > DataGridView.Rows(2).Cells(0).Selected = True
> >
> > Je veux juste déplacer mon curseur !
> >
> > merci de vos réponses!
>
> Est-ce que votre DataGridView est reliée via un BindingSource ?
>
> Cordialement
>
> --
> Gilles TOURREAU
>
>
> S.A.R.L. P.O.S
> Le spécialiste en motoculture depuis + de 30 ans !
> http://www.pos.fr
>


Avatar
Gilles TOURREAU
Le Tue, 11 Dec 2007 19:17:01 +0100, Annie L.
a écrit:

En fait, même si la cellule devient "bleu" sans voir le curseur de la
souris,
on peut écrire directement dans le champ sans cliquer avec la souris!
Donc, pour amener le curseur de la souris, on peut procéder ainsi :

"Grid.Rows(0).Cells(0).Selected = True"

mais le seul problème qui persiste, c'est de revenir dans le champ que
l'on
vient de quitter ("CellLeave"). J'ai essayé plusieurs évènements et cela
ne
fonctionne pas bien du tout car il arrive qu'il me dit "Récursivité"!

À force d'essayer toutes sortes d'évènements, je vais trouver la
solution!

Merci!





Il faut utiliser pour cela l'événement CellValidating...

Cet événement donne une instance d'un objet
DataGridViewCellValidatingEventArgs qui possède une propriété Cancel que
vous pouvez définir à True pour annuler l'événement...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Annie L.
Je n'avais pas pensé à ça! e.cancel = True
Je vais m'en souvenir car on peut l'utiliser à certain endroit (évènement)

Mais je me servais de l'évènement "CellValidated" car il lisait bien la
donnée dans la cellule du DataGridView. Si je mets mon code dans l'évènement
"CellValidating", la lecture de la donnée de la cellule est vide !!!!!
Difficile de gérer "e.cancel = True"
^Pourquoi il voit la donnée dans CellValidated et non dans CellValidating!

Que faire...j'essaie de contourner ce problème..!!!!

Merci! surtout pour e.cancel = true cela va être très utile à l'avenir

"Gilles TOURREAU" wrote:

Le Tue, 11 Dec 2007 19:17:01 +0100, Annie L.
a écrit:

> En fait, même si la cellule devient "bleu" sans voir le curseur de la
> souris,
> on peut écrire directement dans le champ sans cliquer avec la souris!
> Donc, pour amener le curseur de la souris, on peut procéder ainsi :
>
> "Grid.Rows(0).Cells(0).Selected = True"
>
> mais le seul problème qui persiste, c'est de revenir dans le champ que
> l'on
> vient de quitter ("CellLeave"). J'ai essayé plusieurs évènements et cela
> ne
> fonctionne pas bien du tout car il arrive qu'il me dit "Récursivité"!
>
> À force d'essayer toutes sortes d'évènements, je vais trouver la
> solution!
>
> Merci!
>
>

Il faut utiliser pour cela l'événement CellValidating...

Cet événement donne une instance d'un objet
DataGridViewCellValidatingEventArgs qui possède une propriété Cancel que
vous pouvez définir à True pour annuler l'événement...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Avatar
Gilles TOURREAU
Le Wed, 12 Dec 2007 15:06:00 +0100, Annie L.
a écrit:

Je n'avais pas pensé à ça! e.cancel = True
Je vais m'en souvenir car on peut l'utiliser à certain endroit
(évènement)

Mais je me servais de l'évènement "CellValidated" car il lisait bien la
donnée dans la cellule du DataGridView. Si je mets mon code dans
l'évènement
"CellValidating", la lecture de la donnée de la cellule est vide !!!!!
Difficile de gérer "e.cancel = True"
^Pourquoi il voit la donnée dans CellValidated et non dans
CellValidating!

Que faire...j'essaie de contourner ce problème..!!!!

Merci! surtout pour e.cancel = true cela va être très utile à
l'avenir




Essayez de lire la documentation du MSDN...

L'objet DataGridViewCellValidatingEventArgs dispose d'une propriété
"FormattedValue" qui contient la valeur qu'il faut contrôler AVANT de la
placer dans le DataGridView... C'est pour cela que vous n'avez pas cette
valeur directement dans le DataGridView, afin que vous puissiez contrôler
les saisies utilisateurs avant d'insérer des valeurs dans le
DataGridView...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr