Aide concernant DataViewSetting.RowFilter

Résolu
avillenave
Messages postés
26
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
28 novembre 2007
- 21 juin 2007 à 12:20
cs_sarrita
Messages postés
15
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
18 juillet 2007
- 29 juin 2007 à 11:16
Bonjour à tous,

Désolé je ne savais pas mettre dans quel thème ma question

Je suis Newbie en C#

Voici une aprtie du code en simple filtre (un seul champ filtré)

string newFilter = string.Empty;           

             if(!this.tbDesignation.Text.Equals(string.Empty))
            {           
                newFilter += "DESIGNATION like '%" + getFilterValue(this.tbDesignation.Text) + "%'";               
            }
            rechercheView.RowFilter = newFilter;

tbDesignation est le textbox où il y a la valeur à filtrer et DESIGNATION est le champ à filtrer

Actuellement mon filtre simple marche très bien mais dans une autre page je dois faire un double filtre
il y a tbCode et tbLibelle qui sont les deux textbox où sont présentes les valeurs à filtrer dans les champs LIBELLE et CODE (je vous laisse deviner quelle textbox filtre quel champ )

Pourriez vous m'aider à réaliser ce double filtrage. J'ai une erreur qui apparait. J'ai fait un truc de ce style qui ne marche pas :

if(!this.tbCode.Text.Equals(string.Empty)&& !this.tbLibelle.Text.Equals(string.Empty))
                    {           
                        newFilter += "LIBELLE like '%" + getFilterValue(this.tbLibelle.Text) + "%'";
                        newFilter += "CODE like '%" + getFilterValue(this.tbCode.Text) + "%'";
                    }
 incconuView.RowFilter = newFilter;

Au secours

Merci d'avance

     Arnaud

4 réponses

avillenave
Messages postés
26
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
28 novembre 2007

21 juin 2007 à 15:01
f(!this.tbCode.Text.Equals(string.Empty)&& !this.tbLibelle.Text.Equals(string.Empty))
                    {           
                        newFilter += "LIBELLE like '%" + getFilterValue(this.tbLibelle.Text) + "%'";
                       



newFilter + = " AND ";





                        newFilter += "CODE like '%" + getFilterValue(this.tbCode.Text) + "%'";
                    }
 incconuView.RowFilter = newFilter;

Tout simplement
3
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
24 juin 2007 à 14:57
Salut,

Reste aussi à remplacer la concaténation de valeurs par des requêtes paramétrées, histoire de limiter les problèmes d'injection SQL.
http://msdn2.microsoft.com/fr-fr/library/hdb58b2f(VS.80).aspx

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
24 juin 2007 à 15:03
Hum non, je me suis fait avoir, on parle du filtre sur le DataView, pas d'une requête à part entière...
Cependant pense quand même à vérifier un minimum la saisie de l'utilisateur au lieu d'injecter directement la valeur dans le filtre.

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_sarrita
Messages postés
15
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
18 juillet 2007

29 juin 2007 à 11:16
salut...
moi aussi j'ai un probléme de filtre dans mon application ,le code que tu as posté m'a aidé à mieux comprendre comment utiliser les filtres,et j'utilise d'ailleurs le meme code dans mon applictaion;
mais la fonction

getFilterValue(this.tbDesignation.Text) ,je ne sais pas à quoi ça sert ..
peut tu me donner quelques infos.
 merci
0