IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Déplacement dans flexgrid


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut Déplacement dans flexgrid
    Bonjour à tous,

    je reviens avec mon problème de déplacement dans mon flexgrid. Je souhaiterais que lorsque je saisis quelque chose dans mon textbox qu'il m'affiche le correspondant dans un flexgrid (je me répète mais ça c'est réglé). Je voulais que dès qu'il trouve quelque chose que je puisse utiliser les touches de directions dans mon flexgrid. ça aussi c'est à moitié fait en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    msfafficheprod.Visible = True
    msfafficheprod.SetFocus
    Là, dès qu'il trouve quelque chose je peux me balader dans mon flexgrid maintenant le problème est que je ne peux plus saisir quelque chose dans mon textbox (puisque le focus est dans mon flexgrid) alors qu'il faudrait que je puisse continuer à saisir dans mon textbox car le contenu d'un flexgrid peut contenir plus de 50 occurences, donc s'il faut dérouler le flexgrid jusqu'à trouver ce que je veux ...

    Merci d'avance.

    NB: N'hésitez surtout pas à me demander des éclaircissements au cas où il y aurait un point flou.

    Cordialement.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Ilk est bien évidemment impossible de donner le focus à 2 contrôles en même temps ...

    Rien ne t'empêche par contre d'utiliser l'évènement Keydown (ou keyup) de la flexgrid pour redonner le focus à la textbox en pressant une touche de ton choix (la touche escape, par exemple)

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    Bonjour et Merci ucfoutu pour ton aide. Je suis entièrement d'accord avec toi. Pour contourner mon problème comment puis-je faire pour que dès que l'utilisateur saisira des caractères entre A et Z et entre 0 et 9 (au lieu de escape comme tu l'as dit) que le curseur revienne vers le textbox s'il te plaît? Merci d'avance.

    Cordialement

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    Pour les chiffres j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If KeyAscii <> 8 Then
            If Not IsNumeric(Chr(KeyAscii)) Then
                KeyAscii = 0
                txtproduit.SetFocus
            End If
     End If
    mais le problème est qu'il faut taper deux fois sur la touche a (par exemple) pour qu'elle s'ajoute dans le textbox.Y a-t-il un moyen de faire de telle sorte que ce soit automatique? Merci d'avance;

    Cordialement.

  5. #5
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Ben, ajoute le caractère tapé au textbox avant de lui passer le focus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If KeyAscii <> 8 Then
            If Not IsNumeric(Chr(KeyAscii)) Then
                txtproduit=Chr(KeyAscii)) 
                KeyAscii = 0
                txtproduit.SetFocus
            End If
     End If

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    ça marche super bien avec keyup alors que j'avais utilisé keypress. Merci beaucoup ucfoutu. Je voudrais juste savoir à présent comment contrôler de telle sorte que cet évènement se déclenche uniquement lorsque je saisi des lettres et des chiffres ? Merci d'avance.

    Cordialement.

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Par défaut
    Bonjour et Merci Delbeke pour ta proposition. Elle ne marche malheureusement pas comme je le veux car elle remplace le caractère saisi dans le textbox alors que j'aurai aimé que le saisi s'ajoute au contenu du textbox. Mais Merci quand même. As-tu une idée pour le contrôle que j'ai demandé? Merci d'avance.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déplacement dans une div scrollable
    Par kankrelune dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 30/05/2006, 22h52
  2. Réponses: 4
    Dernier message: 19/05/2006, 18h06
  3. [Raccourci clavier] Déplacement dans les onglets
    Par ZeKiD dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 06/04/2006, 17h09
  4. Déplacement dans une page sans recharge
    Par EpOnYmE187 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/08/2005, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo