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

Windows Forms Discussion :

Saisie semi-automatique dans un form (à la manière de Google) (modèle Client/serveur en VB)


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Saisie semi-automatique dans un form (à la manière de Google) (modèle Client/serveur en VB)
    Bonjour,

    j'aurais aimé savoir s'il était possible de faire une sorte de saisie semi-automatique en VB dans un WindowsForm (un peu du style lorsque l'on fait une recherche sur Google avec les suggestions qui apparaissent au fur et à mesure que l'on saisie du texte), sachant qu'il faudrait aller chercher les différents résultats dans les tables d'une base de données à laquelle je suis connecté par le biais d'un ODBC?

    Je suppose que si cela est possible, la manipulation doit être assez complexe...

    Merci par avance de vos réponses...

  2. #2
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Bonjour,

    Je te conseille de regarder du côtés des propriétés de ta TextBox
    • AutoCompleteCustomSource
    • AutoCompleteMode
    • AutoCompleteSource


    N'ayant pas de base de données à disposition pour faire des tests poussés, j'ai juste placé AutoCompleteMode à Suggest et AutoCompleteSource à FileSystem et j'ai obtenu une aide à la saisie d'un chemin de fichier.

    Dans ton cas il faudra sûrement mettre AutoCompleteSource à CustomSource et ajouter AutoCompleteCustomSource (qui prend une collection de String comme valeur) le résultat structuré de ta requête qui devrait être, je pense, du style:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT monChamp FROM maTABLE WHERE monChamp LIKE 'ABC%'
    En remplçant ABC par le texte de ton TextBox.

    Bon j'espère avoir été le plus simple possible, n'hésite pas si tu as besoin de précisions !
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Un article a lire impérativement

    http://odelmotte.developpez.com/tuto...utocompletion/

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    Ta solution m'a l'air d'être tout à fait ce que je recherche ddaime.

    Mais il y a une autre petite contrainte à mon application: c'est qu'elle est basée sur un modèle client/serveur.

    En gros, le client n'aura pas accès directement à la base. Je pense devoir être obligé de passer par une interface mais je ne vois pas laquelle...

    Saurez vous m'aider?

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Dans ce cas passes par un Web Service qui lui ira lire les données dans une table de ta base de données via ODBC puis les revoient à ton client. C'est le principe d'une appli n-tiers en mode client/serveur.

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    Je suis en train de penser à quelque chose...
    Dans la dll de mon projet j'ai:
    - le SI (système d'information)
    - les classes métiers
    - les classes techniques
    - les classes data (je me sert de la sérialisation)

    En fait le client reçoit toutes les données des classes data qui elles sont en lien avec les classes techniques et métiers. Ce qui veut dire que mes classes data contiennent toutes les données de la base.

    Donc je dois pouvoir dire que ma source de données sont ces classes...

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    C'est bon!!!!! J'ai trouvé!!!!

    En fait, ce que je fait, toutes mes infos depuis un objet o_MonClient (inclus sur le formulaire) qui me permet d'être en contact avec des méthodes stockées du côté serveur, qui elles me renvoient les listes de données dont j'ai besoin.

    Voici à quoi ressemble mon code maintenant:

    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
    21
    22
    23
    24
    25
    26
    27
    28
     
            Private Sub frmBon_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf FillAutoComplete))
            End Sub
     
            Private Sub FillAutoComplete(ByVal state As Object)
            Dim res As AutoCompleteStringCollection = New AutoCompleteStringCollection
     
            ' Parcourt les résultats
            For Each V As VilleData In o_MonClient.SessionService.ListeVille
                ' Ajoute à la collection de chaînes d'auto complétion le nom de la ville
                res.Add(V.Nom)
            Next
     
            If res.Count <> 0 Then
                SetSource(res)
            End If
        End Sub
     
        Private Delegate Sub SetSourceDelegate(ByVal source As AutoCompleteStringCollection)
     
        Private Sub SetSource(ByVal source As AutoCompleteStringCollection)
            If Me.InvokeRequired Then
                Invoke(New SetSourceDelegate(AddressOf SetSource), source)
            Else
                txtVille.AutoCompleteCustomSource = source
            End If
        End Sub

    Merci encore pour tout!!
    (s'il y a des critiques sur mon code, je suis tout ouï)

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

Discussions similaires

  1. Inserer saisie semi-automatique dans une macro
    Par Bib0ucH dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 21/08/2008, 14h45
  2. [AJAX] Saisie semi automatique dans un formulaire
    Par sebaaas dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/05/2007, 19h54
  3. Saisie semi-automatique dans combobox
    Par method_man dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 04/04/2007, 16h11
  4. Saisie semi-automatique dans un formulaire
    Par Harmony dans le forum IHM
    Réponses: 7
    Dernier message: 19/03/2007, 20h35
  5. [HTML] Supprimer la saisie semi automatique dans les balises TEXT
    Par mego dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/07/2006, 16h30

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