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

DataGridView.CurrentCell et douchette code barre

6 réponses
Avatar
Thomas
Bonjour,

J'ai un petit problème avec la mise à jour de la cellule active dans un
contrôle DataGridView. Lorsque je me positionne dans une cellule et quand je
scanne le code barre, la valeur du code barre s'insère sans problème dans la
cellule. Le problème est qu'après l'insertion de la valeur dans la cellule
il y a un changement de ligne qui s'opère automatiquement (donc la cellule
active devient celle en-dessous de la valeur insérée) alors que je ne
voudrais pas que se changement de ligne se fasse. En regardant sur internet
je n'ai rien trouvé qui fonctionne dans mon cas. J'ai essayé le code suivant
mais il ne marche pas.

private void dataGridViewLivraison_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
// je ne veux pas changer de ligne mais de colonne
dataGridViewLivraison.CurrentCell =
dataGridViewLivraison.Rows[e.RowIndex].Cells[e.ColumnIndex + 1];
}


Merci d'avance pour votre aide.

Thomas

6 réponses

Avatar
Gilles TOURREAU [MVP]
"Thomas" a écrit dans le message de
news:
Bonjour,

J'ai un petit problème avec la mise à jour de la cellule active dans un
contrôle DataGridView. Lorsque je me positionne dans une cellule et quand
je scanne le code barre, la valeur du code barre s'insère sans problème
dans la cellule. Le problème est qu'après l'insertion de la valeur dans la
cellule il y a un changement de ligne qui s'opère automatiquement (donc la
cellule active devient celle en-dessous de la valeur insérée) alors que je
ne voudrais pas que se changement de ligne se fasse. En regardant sur
internet je n'ai rien trouvé qui fonctionne dans mon cas. J'ai essayé le
code suivant mais il ne marche pas.

private void dataGridViewLivraison_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
// je ne veux pas changer de ligne mais de colonne
dataGridViewLivraison.CurrentCell =
dataGridViewLivraison.Rows[e.RowIndex].Cells[e.ColumnIndex + 1];
}


Merci d'avance pour votre aide.

Thomas




Bonjour,

C'est tout simplement parce que votre douchette est paramétré pour envoyer
après le code barre une tabulation ou un retour chariot... (Essayez sur le
bloc-notes pour contrôler).
Pour éviter les complications, je vous conseille de vous référer à la
documentation du constructeur pour paramétrer votre douchette afin qu'elle
n'envoie pas de touche de contrôle après avoir scanné votre code barre.

Cordialement

--
Gilles TOURREAU - MVP C#


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

J'ai un petit problème avec la mise à jour de la cellule active dans un
contrôle DataGridView. Lorsque je me positionne dans une cellule et quand
je scanne le code barre, la valeur du code barre s'insère sans problème
dans la cellule. Le problème est qu'après l'insertion de la valeur dans
la cellule il y a un changement de ligne qui s'opère automatiquement
(donc la cellule active devient celle en-dessous de la valeur insérée)
alors que je ne voudrais pas que se changement de ligne se fasse. En
regardant sur internet je n'ai rien trouvé qui fonctionne dans mon cas.
J'ai essayé le code suivant mais il ne marche pas.

private void dataGridViewLivraison_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
// je ne veux pas changer de ligne mais de colonne
dataGridViewLivraison.CurrentCell =
dataGridViewLivraison.Rows[e.RowIndex].Cells[e.ColumnIndex + 1];
}


Merci d'avance pour votre aide.

Thomas




Bonjour,

C'est tout simplement parce que votre douchette est paramétré pour envoyer
après le code barre une tabulation ou un retour chariot... (Essayez sur le
bloc-notes pour contrôler).
Pour éviter les complications, je vous conseille de vous référer à la
documentation du constructeur pour paramétrer votre douchette afin qu'elle
n'envoie pas de touche de contrôle après avoir scanné votre code barre.

Cordialement

--
Gilles TOURREAU - MVP C#


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





Merci pour votre réponse rapide. En fait je n'ai aucune documentation
concernant la douchette. Elle se branche sur un port USB et c'est tout.
Effectivement dans le Blocknote après une lecture du code barre, elle passe
à la nouvelle ligne.
Vu que je n'ai aucun moyen de la paramétrer, est-ce qu'avant que la donnée
soit inserée dans la cellule de mon datagridview, je pourrais récuperer la
valeur envoyée par la douchette, de supprimer le retour chariot et de la
passer à la cellule ? C'est pour éviter le saut de ligne...
Ou est-ce qu'il y a un autre moyen par le biais du code de se répositionner
sur la ligne voulue ?

Merci pour votre aide,

Thomas
Avatar
Gilles TOURREAU [MVP]
"Thomas" a écrit dans le message de
news:

Bonjour,

J'ai un petit problème avec la mise à jour de la cellule active dans un
contrôle DataGridView. Lorsque je me positionne dans une cellule et
quand je scanne le code barre, la valeur du code barre s'insère sans
problème dans la cellule. Le problème est qu'après l'insertion de la
valeur dans la cellule il y a un changement de ligne qui s'opère
automatiquement (donc la cellule active devient celle en-dessous de la
valeur insérée) alors que je ne voudrais pas que se changement de ligne
se fasse. En regardant sur internet je n'ai rien trouvé qui fonctionne
dans mon cas. J'ai essayé le code suivant mais il ne marche pas.

private void dataGridViewLivraison_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
// je ne veux pas changer de ligne mais de colonne
dataGridViewLivraison.CurrentCell =
dataGridViewLivraison.Rows[e.RowIndex].Cells[e.ColumnIndex + 1];
}


Merci d'avance pour votre aide.

Thomas




Bonjour,

C'est tout simplement parce que votre douchette est paramétré pour
envoyer après le code barre une tabulation ou un retour chariot...
(Essayez sur le bloc-notes pour contrôler).
Pour éviter les complications, je vous conseille de vous référer à la
documentation du constructeur pour paramétrer votre douchette afin
qu'elle n'envoie pas de touche de contrôle après avoir scanné votre code
barre.

Cordialement

--
Gilles TOURREAU - MVP C#


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





Merci pour votre réponse rapide. En fait je n'ai aucune documentation
concernant la douchette. Elle se branche sur un port USB et c'est tout.
Effectivement dans le Blocknote après une lecture du code barre, elle
passe à la nouvelle ligne.
Vu que je n'ai aucun moyen de la paramétrer, est-ce qu'avant que la donnée
soit inserée dans la cellule de mon datagridview, je pourrais récuperer la
valeur envoyée par la douchette, de supprimer le retour chariot et de la
passer à la cellule ? C'est pour éviter le saut de ligne...
Ou est-ce qu'il y a un autre moyen par le biais du code de se
répositionner sur la ligne voulue ?

Merci pour votre aide,

Thomas




Bonjour,

Le problème c'est que attraper la touche ENTER nécessite une gymnastique
particulière...
Qu'elle est le modèle de votre douchette ?

Cordialement

--
Gilles TOURREAU - MVP C#


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

J'ai un petit problème avec la mise à jour de la cellule active dans un
contrôle DataGridView. Lorsque je me positionne dans une cellule et
quand je scanne le code barre, la valeur du code barre s'insère sans
problème dans la cellule. Le problème est qu'après l'insertion de la
valeur dans la cellule il y a un changement de ligne qui s'opère
automatiquement (donc la cellule active devient celle en-dessous de la
valeur insérée) alors que je ne voudrais pas que se changement de ligne
se fasse. En regardant sur internet je n'ai rien trouvé qui fonctionne
dans mon cas. J'ai essayé le code suivant mais il ne marche pas.

private void dataGridViewLivraison_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
// je ne veux pas changer de ligne mais de colonne
dataGridViewLivraison.CurrentCell =
dataGridViewLivraison.Rows[e.RowIndex].Cells[e.ColumnIndex + 1];
}


Merci d'avance pour votre aide.

Thomas




Bonjour,

C'est tout simplement parce que votre douchette est paramétré pour
envoyer après le code barre une tabulation ou un retour chariot...
(Essayez sur le bloc-notes pour contrôler).
Pour éviter les complications, je vous conseille de vous référer à la
documentation du constructeur pour paramétrer votre douchette afin
qu'elle n'envoie pas de touche de contrôle après avoir scanné votre code
barre.

Cordialement

--
Gilles TOURREAU - MVP C#


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





Merci pour votre réponse rapide. En fait je n'ai aucune documentation
concernant la douchette. Elle se branche sur un port USB et c'est tout.
Effectivement dans le Blocknote après une lecture du code barre, elle
passe à la nouvelle ligne.
Vu que je n'ai aucun moyen de la paramétrer, est-ce qu'avant que la
donnée soit inserée dans la cellule de mon datagridview, je pourrais
récuperer la valeur envoyée par la douchette, de supprimer le retour
chariot et de la passer à la cellule ? C'est pour éviter le saut de
ligne...
Ou est-ce qu'il y a un autre moyen par le biais du code de se
répositionner sur la ligne voulue ?

Merci pour votre aide,

Thomas




Bonjour,

Le problème c'est que attraper la touche ENTER nécessite une gymnastique
particulière...
Qu'elle est le modèle de votre douchette ?

Cordialement

--
Gilles TOURREAU - MVP C#


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





Bonjour,

C'est une Datalogic Gryphon D130-STD.

Cordialement,

Thomas
Avatar
Dominique Lecocq
"> Bonjour,

C'est une Datalogic Gryphon D130-STD.

Cordialement,

Thomas



Bonjour,
je connais bien les produit datalogic.
il vous juste trouver la doc du model D1xx, il y aura alors une feuille avec
de codes barre qui permettront la programmation du "smurtz", ca se fait
assez bien.
le support france est super compétent en plus

Dominique "QNX" Lecocq
Avatar
Thomas
> "> Bonjour,

C'est une Datalogic Gryphon D130-STD.

Cordialement,

Thomas



Bonjour,
je connais bien les produit datalogic.
il vous juste trouver la doc du model D1xx, il y aura alors une feuille
avec de codes barre qui permettront la programmation du "smurtz", ca se
fait assez bien.
le support france est super compétent en plus

Dominique "QNX" Lecocq




Merci pour votre aide. Je vais chercher de ce côté là.

Thomas