IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

objectdatasource et Filtrage


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut objectdatasource et Filtrage
    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

  2. #2
    Membre expérimenté
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Billets dans le blog
    4
    Par défaut
    As tu vérifié que tu ne relances pas toute ta procédure de chargement de dataTable lorsque tu lances tes filtres? as tu mis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (!Page.IsPostBack)
    {
      //procédure de chargement des données dans le dataTable
    }
    Lorsque tu débug, quels sont les valeurs qu'il y a dans tes textbox? et donc dans tes filtres?
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    ca vient peut etre de la

    dans le page load je n'ai pas de code et donc tout se rafraichit à chaque chargement de page

    mas comment puis je le bloquer?

  4. #4
    Membre expérimenté
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Billets dans le blog
    4
    Par défaut
    C'est un peu le problème du master page. En faite, à chaques fois que tu changes de pages .aspx, la master page n'est pas appelée, elle est rechargée, ce qui fait que le code se ré-exécute à chaques fois. tous les codes que tu ne veux pas ré-exécuter, il te faut mettre la ligne de commande que je t'ai donné au dessus et exécuter ton code dans le if..
    Mais tu me dis que tu n'as rien dans le Page_Load(), c'est bizarre que cela s'exécute quand même..
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

Discussions similaires

  1. Filtrage des paquets de la carte réseau
    Par sommerset dans le forum Réseau
    Réponses: 3
    Dernier message: 15/06/2005, 10h38
  2. filtrage d'une table interbase
    Par kouraichi35 dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/11/2004, 13h08
  3. filtrage d'une chaine de caractéres
    Par localhost dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 20/09/2003, 01h11
  4. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  5. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo