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

C# Discussion :

Search LIKE dans un combo


Sujet :

C#

  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Search LIKE dans un combo
    Bonjour

    Je viens sans doute encore avec une question saugrenue !

    Quelqu'un aurait-il une idée comment faire une recherche LIKE dans un combo

    Actuellement le suggestappend marche magnifiquement en tappant les premieres lettres

    Mais j'aimerais rechercher tous les éléments contenant un mot

    Nord Ouest
    Sud Ouest
    Vent d'Ouest
    Caramba plus à l'Ouest
    Est-ce possible ?

    Une idée ?

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    [ ]
    tu mets une bindingsource à la datasource qui charge ta combo et tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaBindingSource.Filter =  " MonChamp LIKE '%" + MaCombo.Text + "%'";
    [/ ]

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Fally

    Si j'étais toi je dirais "tu y tiens a ta bindingsource" !!

    Mais ta methode n'est valable que pour Charger le Combo
    Ca j'y avais déja pensé : ca nécessiterait d'ailleurs un AUTRE champ pour saisir le filtre

    Moi ce que je voudrais faire c'est un LIKE a la volée comme le suggestappend mais pas uniquement sur les premiers caractères !

  4. #4
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par olibara Voir le message
    Si j'étais toi je dirais "tu y tiens a ta bindingsource" !!
    1 but partout, on est quite

    Citation Envoyé par olibara Voir le message
    Mais ta methode n'est valable que pour Charger le Combo
    Ca j'y avais déja pensé : ca nécessiterait d'ailleurs un AUTRE champ pour saisir le filtre
    Non, du tout si tu permes de changer le Text de la combo

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Ah Ah

    Et comment tu definis ton combo alors ?

    Moi je fais habituellement un truc du genre



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          DataTable dtCmb = qr.Select(Sel);
          cmb_Appell.DataSource = dtCmb;
          cmb_Appell.DisplayMember = "ApelNom";
          cmb_Appell.ValueMember = "ProdAppellationID";
          cmb_Appell.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
          cmb_Appell.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;

    Sur base de quel event tu changerais le BindIngsource ?

  6. #6
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Sur base de quel event tu changerais le BindIngsource ?
    Sur le textchanged de ta combo et tu enlèveras l'AutoSuggest

  7. #7
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Fally

    Ca marche assez chouette mais pour bien faireil ne faudrait lancer le filtre que sur un enter.
    Ou une validation de ce qui est entré.
    Actuellement le filtre se fait a chaqque caractére tappé
    Et je ne pense pas que le Combo a un event Text Commit ou similaire.

    Donc pour bien faire je pense quand meme etre obligé de passer par un textbox séparé et un bouton

  8. #8
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Ok je vois, mais comme tu utilises une bindingsource tu fatigues pas trop le processeur donc tu pourrais t'abonner au textchanged de ta combo à moins que t'aies d'autres contraintes

  9. #9
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Fally



    J'ai trouvé la solution avec KeyDown
    Il m'embete enore un peu car il flait 'blong' quand je fais Enter mais ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        private void cmb_Appell_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.KeyCode == Keys.Enter)
          {
            if (cmb_Appell.Text.Length <= 2)
            {
              return;
            }
            string txt = cmb_Appell.Text;
            bdsAppel.Filter = string.Format("ApelNom LIKE '%{0}%'", txt);
          }
        }

  10. #10
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut


    Salut Fally

    J'ai reussi a supprimer le "blong'

    Je te passe le code car c'est simple et resultat assuré
    Un Combo Like : c'est magique !!

    Je pense meme mettre un CheckBox pour permettre a l'utilisateur de travailler un SuggestAppend ou en Like !!

    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 void cmb_Appell_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.KeyCode == Keys.Enter)
          {
            e.Handled = true;
            e.SuppressKeyPress = true;
            if (cmb_Appell.Text.Length <= 2)
            {
              return;
            }
            string txt = cmb_Appell.Text;
            bdsAppel.Filter = string.Format("ApelNom LIKE '%{0}%'", txt);
          }
        }

  11. #11
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    content pour toi ?

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

Discussions similaires

  1. Plusieurs LIKE dans une requete ?
    Par beastman007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/02/2005, 13h10
  2. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 15h38
  3. Réponses: 2
    Dernier message: 23/06/2004, 14h56
  4. Réponses: 2
    Dernier message: 11/05/2004, 12h17
  5. Que privilégier : %like% dans champs texte, ou plain text ?
    Par Dimitri01 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/01/2004, 12h45

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