Recherche dans datagridview [Résolu]

Signaler
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
-
 abdelmajid -
Bonjour,
j'ai un datagridview avec trois champs (n°_affiliation, nom, adresse ) et qui contient 100 enregistrement rempli depuis une BDD access, et j'ai aussi un textbox.
alors ce que je veux c'est quand je tape dans le textbox une lettre par exemple(M) il ne reste dans la datagridview que les enregistrements dont les noms commencent par la lettre(M) et quand j'ajoute une autre lettre à (M) par exemple (MA) il me reste dans la datagridview que les enregistrements dont les noms commencent par (MA), et ainsi de suite.

je remercie pour votre aide

30 réponses

Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
5
Bonjour,

Regardez du coté de l'objet BindingSource

En gros vous connectez le resultat de votre BDD à la source de l'objet BindingSource et la BindingSource à votre DataGridView.

Ensuite l'objet BindingSource possède tout simplement une propriété Filter qui vous permettra de faire par exemple :
MaBindingSource.Filter = "nom LIKE 'M*'"


Pour filtrer tous les noms commencant par 'M'
merci infiniment pour votre aide
Messages postés
87
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
28 mai 2013
1
Tu peux filtrer de la façon suivante :

Dim Source As New BindingSource()
Source .DataSource = Me.DataGridView1.DataSource

source1.Filter = "condition"

si tu as un champ NOM par exemple
Condition ça peut être
"NOM like 'M%'"
puis "NOM like 'MA%'" etc...

Tu filtres à la manière SQL (c'est du LINQ quoi en gros)

ça filtrera dans une vue. Pour revenir au normal tu remets la table d'origine.

-----------------------------------------------------------------------------------------------------------
De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent.
Messages postés
55
Date d'inscription
samedi 11 avril 2009
Statut
Membre
Dernière intervention
28 juin 2018
1
Bonjour j'ai trouver la réponse et je la partage à qui en a besoin.


MaBindingSource.Filter = "Nom like '" & TextBox1.Text & "*'"

et quand je vide le textbox ça marche la datagridview retourne à son état initial.

merci bcp les génies de VBFRANCE.

Bonjour,

Tu dois concaténer trois textes. Il te manque des guillemets.

Essaie avec :

Source.Filter = "nom_colone like '" & Valeur & "'" 
Messages postés
136
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
22 mars 2014
2
Bonjour,
je vous remercie bcp Foliv57 et biolo24fr vous etes vraiment des anges mais pour que les choses soient impec je veux la deuxième etape c'est que quand j'ajoute une autre lettre à (M) par exemple (S) il affiche les noms qui commencent par MS.
je veux aussi quand je vide le textbox ma datagridview revient à son état intial.

merci encore une fois
Messages postés
55
Date d'inscription
samedi 11 avril 2009
Statut
Membre
Dernière intervention
28 juin 2018
1
Bonjour,
encore une chose j'ai pas que la lettre (M) pour la recherche ça peut etre n'importe quelle lettre.
merci
Messages postés
64
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
20 septembre 2011

Merci , pour ce code que je cherchais depuis un petit moment

Niblon
Messages postés
3
Date d'inscription
vendredi 23 avril 2010
Statut
Membre
Dernière intervention
6 janvier 2012

merciii beaucoupp enfin j'ai trouvé merciii
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

Bonsoir,
j'ai un datagridview avec cinq champs (matricule, numero_chassier, reference,Date_achat,Date_assurance ) et qui contient 50 enregistrements rempli depuis une BDD access, et j'ai aussi un textbox(type date) nommé "Date_assuranceDateTimePicker1".
Pour cela je veux c'est quand je cherche par date il ne reste dans la datagridview que les enregistrements(lignes) qui concernent ce date.
je remercie pour votre aide

Bonjour,

Tu as juste à adapter un petit peu les réponses plus haut que tu as visiblement sorti par mégarde des archives. (C'est probablement ça que les Français appellent avoir une veine de cocu.)
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

Bonsoir;
J'ai bien tapé le code ci dessus.
Mon problème c'est que je veux chercher dans le datagridview qui contient une colonne de type date à travers un textbox(TimePicker) mais un message d'erreur "Cannot perform 'Like' operation on System.DateTime and System.String."
S'il vous plait aidez moi
Je vous remercie

Bonjour,

Tu convertis ta date en string.

lavariablequireprésenteladate.tostring
ou
ctype()
ou
cstr()
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

Bonsoir;
je vous remercie mais malgré la conversion le message d'erreur reste le même "Cannot perform 'Like' operation on System.DateTime and System.String."
Voici mon code VB
Valeur = lavariablequireprésenteladate.tostring
Source.Filter = "nom_colone like ' & Valeur & '"
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

je vous remercie mais le problème n'est pas encore résolu.

Bonjour,

Il faut que lavariablequireprésenteladate contienne vraiment la valeur de la date. Tu peux la récupérer en passant par la classe DatagridViewCell. Il doit bien y avoir un exemple dans l'aide
de VB

Et puis nom_colone doit être remplacé par le vrai nom de la colonne
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

Voici une partie de mon interface

Bonjour,

On ne voit rien. Là je décroche, la batterie du portable est déchargée et je n'ai pas Internet chez-moi.

Ce qui te manque:

Récupérer la date (DatagridviewCell dans l'aide de VB
)

Adapter les exemples à ta propre situation. En d'autres termes : mettre les vraies informations dans tes instructions.
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

Vous voulez dire que je dois utiliser DatagridViewCell pour rechercher des lignes dans datagridview a partir d'une calendrier ?
Messages postés
16
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
12 mai 2013

[img]"C:\Documents and Settings\media\Bureau\VB1"/img

Bonjour,

J'ai un peu perdu le fil de la discussion. Reprenons au début

Dans les réponses précédentes de foliv57 et de biolo24fr, il est question de créer un objet BindingSource.

Cet objet BindingSource est lié au DatagridView par la propriété BindingSource du DatagridView

Ensuite tu ajustes la propriété Filter du BindingSource en fonction de tes propres noms de colonnes.

Dans l'aide de VB, il y a des exemples d'utilisation de ces composants.