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 :

Le tri sur un gridview ne se fait plus dés que celui-ci est dans un updatePanel


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut Le tri sur un gridview ne se fait plus dés que celui-ci est dans un updatePanel
    Bonjour

    tout est dans le titre : j'ai un un gridview sur lequel je peux faire des tris sur (presque) chaque colonne. Cela fonctionne très bien et mes tris sont conformes à mes attentes.

    Mais pour améliorer l'"experience utilisateur " (), je désire le faire par AJAX. je mets donc simplement mon gridview dans un updatePanel, et là, plus rien ne marche. Les requêtes ajax sont bien envoyées, mais la réponse du serveur est vide.

    omet-je quelque chose ?

    Mon tri :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     protected void tri(string critere, string sens)
            {
                if (ViewState["dv"] != null)
                {
                    try
                    {
                        DataTable table = (DataTable)ViewState["dv"];
                        DataView dv = new DataView(table);
     
                        dv.Sort = critere + " " + sens;
                        GridView1.DataSource = dv;
                        GridView1.DataBind();
                        UpdatePanel1.Update();
                    }
                    catch (Exception e)
                    {
     
                        Response.Write("Erreur sur tri : " + e.Message);
                    }
     
                }
            }
    appelé comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        protected void tarif_tri_desc_Click(object sender, ImageClickEventArgs e)
            {
                tri("tarif", "desc");
            }
    La page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true" >
                <ContentTemplate>
                    Tarifs disponibles :
                    <br />
     
                    <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False"
                        BorderStyle="None" CssClass="comparateur"> 
    <Columns>
     
    (...)
     
    </Columns>
                    </asp:GridView>
                </ContentTemplate>
            </asp:UpdatePanel>
    Je précise : les images sur lesquelles on clique pour avoir le tri (tarif_tri_desc_Click) sont dans les entetes du gridview.
    Un debuggage pas à pas me montre que les méthodes sont convenablement appelées, c'est simplement la réponse qui n'est pas envoyées au navigateur.

    PS : Tout ce beau monde se trouve dans un userControl


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052

  3. #3
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    mmm... Je m'aperçois que même avec un simple bouton et <%= DateTime.Now.ToString() %> dans ma page, l'updatePanel ne se rafraîchit pas...

    je viens même de faire, sur le-dit bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            protected void Button1_Click(object sender, EventArgs e)
            {
                label_test.Text = DateTime.Now.ToString();
            }
    et je n'ai rien dans mon Label_test.

    ... Et aucune exception n'est levée !!

    Merci pour le lien MSDN, je l'avais déjà regardé sans trouvé de réponse.


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Je viens de faire un autre test : j'ai remplacé mon usercontrol par un autre présentant les mêmes méthode et propriétés, mais qui ne fait rien : pas de gridview, donc pas de tri, seule la méthode d'affichage de l'heure est restée : Le résultat est le même, pas de mise à jour de mon Label_test.

    Je me pose donc la question : est-il possible d'utiliser un updatePanel dans un userControl ?


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par roro06 Voir le message
    Je me pose donc la question : est-il possible d'utiliser un updatePanel dans un userControl ?
    Oui

    Ferme/rouvre VS
    Rebuild
    IIS reset
    Réessaye


  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    T'aurais pas un autre update panel qui englobe ce fameux user control?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/12/2009, 17h45
  2. Tri sur un GridView
    Par markob85 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 30/04/2009, 10h40
  3. [ASP.NET 2.0][C#] Tri sur un GridView avec actions
    Par Wishmaster dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/09/2007, 14h44
  4. [VB.NET] Problème de tri sur Datagrid/gridview multilingue
    Par crimsonPhantom dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/03/2006, 22h41
  5. La molette ne fait plus ce que je veux avec Firefox
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 21/02/2006, 16h33

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