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

IHM Discussion :

Effectuer un tri dynamique


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Effectuer un tri dynamique
    Bonjour, je voudrais créer une zone de texte qui permettrait de faire
    des recherches dans une liste. Je voudrais qu'à chaque lettre tapé
    dans cette zone de texte, la liste se positionne au fur et à mesure sur les noms correspondants.
    Pour résumé, une espèce de "filtrage dynamique" qui marcherait comme une
    liste déroulante mais avec une zone de saisie déportée.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Bonjour

    Voici un début. Soit un formulaire avec deux zone de texte Zt1 et Zt2
    Chaque caratére entrée dans Zt1 est copié dans Zt2.
    Caratére valide ici a, c et le 6 du pavé numérique.

    Pour avoir tous les autres caractéres il faudra compléter le Select Case.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub ZT1_KeyDown(KeyCode As Integer, Shift As Integer)
        Select Case KeyCode
            Case KeyCodeConstants.vbKeyA
                Me.ZT2 = Me.ZT2 & Chr(vbKeyA)
     
            Case KeyCodeConstants.vbKeyC
                Me.ZT2 = Me.ZT2 & Chr(vbKeyC)
     
            Case KeyCodeConstants.vbKeyNumpad6
                Me.ZT2 = Me.ZT2 & 6
        End Select
        TaZoneDeListe.Requery 'Actualisation de la liste
    End Sub
    A chercher : S'il est possible de retrouver la touche appuyer à l'aide de son code (KeyCode) alors il ne sera plus nécessaire d'utiliser le Select Case et il n y aurait que deux lignes.
    Amicalement

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Ok, merci pour ta réponse, un bon début de piste. Même si le select case pour chaque lettre me parait un peu long. Je vais essayer de retrouver la touche appuyé.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    A priori, pluis simplement, sur l'événement "changement", je peux intervenir à chaque touche appuyé dans la zone. Ceci devrait faire mon bonheur. Plus d'infos quand j'aurais fini. Merci en tout cas.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Voilà j'ai réglé le problème sur l'événement "sur changement" et ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Texte0_Change()
    Dim SQl As String
     
        Me.Requery
        Me.ChoixUsager.RowSource = SQl
     
        If IsNull(Len(Texte0)) Then
            SQl = "select TblPassants.NumUsager, TblPassants.NomUsager, TblPassants.PrenomUsager, TblPassants.CodeRegime, TblPassants.Classe FROM TblPassants ORDER BY TblPassants.NomUsager"
        Else
            Me.Requery
            'Le sql construit par les lettre entrées
            SQl = "select TblPassants.NumUsager, TblPassants.NomUsager, TblPassants.PrenomUsager, TblPassants.CodeRegime, TblPassants.Classe FROM TblPassants"
            SQl = SQl & " where tblpassants.NomUsager Like '" & Me.Texte0 & "*' "
            slq = SQl & "ORDER BY TblPassants.NomUsager ;"
            Me.ChoixUsager.RowSource = SQl
            Me.ChoixUsager.Requery
            Texte0.SelStart = Len(Texte0) 'positionne le curseur à la suite de la dernière lettre entrée
        End If
     
    End Sub

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Bien joué.
    Amicalement

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

Discussions similaires

  1. probleme de tri dynamique de tableau
    Par K_!!! dans le forum ASP
    Réponses: 21
    Dernier message: 15/02/2006, 16h44
  2. [XSLT] Tri dynamique
    Par gregb34 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 06/02/2006, 12h52
  3. tri dynamique avec XSLT
    Par JohnBlatt dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/09/2005, 12h30
  4. [10g][SQLplus] Effectuer un CONNECT dynamique?
    Par heffer69 dans le forum Oracle
    Réponses: 4
    Dernier message: 24/08/2005, 16h19
  5. [XSLT] séparation après tri dynamique
    Par MatMeuh dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 26/10/2004, 14h56

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