Recherche rapide dans un datagridview [Résolu]

vblover 57 Messages postés mardi 25 février 2003Date d'inscription 27 janvier 2011 Dernière intervention - 12 nov. 2009 à 19:09 - Dernière réponse : vblover 57 Messages postés mardi 25 février 2003Date d'inscription 27 janvier 2011 Dernière intervention
- 13 nov. 2009 à 04:56
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 12 nov. 2009 à 22:39
3
Merci
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.

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 124 internautes ce mois-ci

Commenter la réponse de Mayzz
vblover 57 Messages postés mardi 25 février 2003Date d'inscription 27 janvier 2011 Dernière intervention - 13 nov. 2009 à 04:56
0
Merci
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
Commenter la réponse de vblover

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.