Recherche rapide dans un datagridview [Résolu]

Signaler
Messages postés
57
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
27 janvier 2011
-
vblover
Messages postés
57
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
27 janvier 2011
-
J'avais besoin de faire une recherche rapide dans un datagridview c'est a dire de deplacer la ligne (row) en surbrillance selon les characteres saisis par l'utilisateur. J'arrive a faire cela, mais ceci exige de proceder a plusieurs requetes sql sur la base de donnees donc ouvrir et fermer la connection autant de fois qu'il y a de characteres saisis. Il me semble qu'il devrait exister un moyen plus simple de faire ceci en procedant a des requetes non pas sur la bd mais sur le dataset qui lui est en memoire du client. Si une telle possibilite existe, comment faire?


vblover

2 réponses

Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
22
Salut,

Ce qui se fait le plus couramment et ce pourquoi le DataSet est conçu c'est de filtrer les données...

En gros tu fais un requête vers le serveur en sélectionnant les données qui t'intéressent dans ta table, celle-ci via un TableAdapter qui aura une requête SELECT, puis tu crée un BindingSource auquel tu définis la table remplie par ce tableAdapter comme étant sa source de données, ce BindingSource étant lui même la source de données de ton DataGridView. L'avantage c'est que ce BindingSource possède une propriété Filter qui te permet de mettre une sorte de clause WHERE locale.

En gros le BindingSource est un lien entre Le DataGridView et la table remplie par le TableAdapter

Connexion > TableAdapter > Fill > DataTable > BindingSource > DataGridView

Tu peux en suite mettre comme filtre à ton BindingSource :

MonBindingSource.Filter "Nom '" & TextBox1.Text & "*'"

Ce qui filtrera les lignes en ne laissant apparaître que les lignes dont les premières lettres du champ nom commencent par le texte contenu par ton textbox.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
57
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
27 janvier 2011

Merci pour l'info, Mayzz. Je trouvais que c'etait idiot de revenir chaque fois a la bd alors que le dataset etait la sur la machine de l'utilisateur. Tout simplement ca allait a contre sens de la philosophie de ado.net.


vblover