Effectuer une recherche dans un datagridview

manbiz Messages postés 13 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 31 octobre 2016 - 7 mai 2010 à 12:49
manbiz Messages postés 13 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 31 octobre 2016 - 8 mai 2010 à 11:11
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

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
7 mai 2010 à 16:59
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
0
manbiz Messages postés 13 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 31 octobre 2016
8 mai 2010 à 02:58
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 + "'";
}
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 mai 2010 à 08:50
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
0
manbiz Messages postés 13 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 31 octobre 2016
8 mai 2010 à 11:11
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.)
0
Rejoignez-nous