Bonsoir tout le monde,

Je cherche à afficher des informations en provenance d'un datatable dans un gridview que je peux filtrer à partir de textbox.

Cependant je rencontre de gros problèmes concernant le filtrage.

J'ai trouvé que l'on pouvait l'indiquer dans l'objectdatasource :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<asp:ObjectDataSource ID="MailDataSource" runat="server" 
        SelectMethod="GetAllMailTechnique" TypeName="ReportMailBLL" 
        filterexpression="(Matricule='{0}') AND (Nom='{0}') AND (Prenom='{0}')" OnFiltering="MailDataSource_Filtering">
        <filterparameters>
              <asp:formparameter name="Matricule" FormField="txtMatricule" />
              <asp:formparameter name="Nom" FormField="txtNom" />
              <asp:formparameter name="Prenom" FormField="txtPrenom" />
            </filterparameters>
 
    </asp:ObjectDataSource>
et voici la fonction Filtering associé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 protected void MailDataSource_Filtering(object sender, ObjectDataSourceFilteringEventArgs e)
    {
        if (txtMatricule.Text != "" || txtNom.Text!="" || txtPrenom.Text!="")
            e.ParameterValues.Clear();
 
        if (txtMatricule.Text != "")
            e.ParameterValues.Add("Matricule", txtMatricule.Text);
 
        if (txtNom.Text!="")
            e.ParameterValues.Add("Nom",txtNom.Text);
 
        if (txtPrenom.Text!="")
            e.ParameterValues.Add("Prenom",txtPrenom.Text);
    }
Lorsque la page se rafraichit, le filtrage ne s'effectue pas.

Si vous avez une idée je suis preneur je ne trouve rien. A mon avis, cela provient du '{0}' mais je ne trouve pas de doc sur les filterexpression

je vous remercie d'avance