Effectuer une recherche dans un datagridview

Signaler
Messages postés
13
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
31 octobre 2016
-
Messages postés
13
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
31 octobre 2016
-
Bonjour à tous
Je souhaite faire une recherche dans un datagridview à partir de trois texte box.
c.à.d faire une recherche soit avec l'une de ces trois textbox, soit avec deux soit par les trois .Je n'ai absolument aucune idée de la méthode à appliquer.
Merci d'avance de votre aide

4 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
33
Attention, il ne fait pas faire de recherche sur le DataGridView... mais sur la DataSource à laquelle il est liée...

Il suffit de jouer avec la propriété Filter...


Sébastien FERRAND
Lead Developpeur
Microsoft Visual C# MVP 2005 - 2009
Blog photo
Messages postés
13
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
31 octobre 2016

merci pour votre aide, ça a marché mais je peux seulement filtrer qu'avec l'un de ces trois textbox!!!
voici mon code

private void button2_Click(object sender, EventArgs e)
{
string t2 = textBox2.Text;
string t3 = textBox3.Text.ToString();
string t4 = textBox4.Text.ToString();
aGENTBindingSource.Filter = "matricule=" + t2 + " OR nom like'" + t3 + "' OR prenom like'" + t4 + "'";
}
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
33
essaye ceci :
private void button2_Click(object sender, EventArgs e) 
{ 
string requete;
if (textBox2.TextLength>0) {
   requete += string.Format("# matricule like '%{0}%' #", textBox2.Text); 
}

if (textBox3.TextLength>0) {
   requete += string.Format("# nom like '%{0}%' #",  textBox3.Text); 
}

if (textBox4.TextLength>0) {
   requete += string.Format("# prenom like '%{0}%' #", textBox4.Text); 
}

requete = requete.Replace("##","OR").Replace("#",string.Empty);

aGENTBindingSource.Filter = requete; 
} 




Sébastien FERRAND
Lead Developpeur
Microsoft Visual C# MVP 2005 - 2009
Blog Photo
Messages postés
13
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
31 octobre 2016

Bonjour
Merci, je l'ai bien essayé mais ça marche pas, je peux seulement filtrer soit par le nom soit par le prénom, tout les deux en même temps ca marche pas. En plus si je mes la matricule un message d'erreur apparait ( Impossible d'effectuer une opération 'Like' sur System.Decimal et System.String.)