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 :

[C#] Datagrid et SelectedIndexChanged de DropDownList


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Par défaut [C#] Datagrid et SelectedIndexChanged de DropDownList
    Bonjour tout le monde,

    Pour commencer :
    Je code en C# une appli ASPX sur WindowsXP, IIS 5 et Framework 1.1

    Voilà :p

    Ensuite :

    Je cherche actuellement à gérer l'évènement SelectedIndexChanged d'une dropdownlist incluse dans un datagrid, logiquement ça ne devrait pas poser de problème avec ce code :

    Code ASPX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <EditItemTemplate>
    	<asp:DropDownList id="drpProperty" runat="server" OnSelectedIndexChanged="drpProperty_SelectedIndexChanged" AutoPostBack="True" ></asp:DropDownList>
    </EditItemTemplate>
    Code Behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void drpProperty_SelectedIndexChanged(object source, System.EventArgs e)
    {
    // Récupère la référence de notre DropDownList
        DropDownList ddl = (DropDownList)source;
     
    // Récupère le DataGridItem
        DataGridItem Dgi = (DataGridItem)ddl.Parent.Parent;
    }
    Je ne pense pas que ce code pose de réels problèmes... A la compilation aucune erreur, pourtant quand j'appelle la page contenant ce contrôle, je reçois une erreur :
    External component has thrown an exception.
    Void ThrowIfCompilerErrors(System.CodeDom.Compiler.CompilerResults, System.CodeDom.Compiler.CodeDomProvider, System.CodeDom.CodeCompileUnit, System.String, System.String)
    (..)
    Je n'entre jamais dans le page_load de ce composant...

    Ah encore autre chose, tout mon site est construit sur une page main.aspx avec un placeHolder dans lequel j'appelle divers WebUserControl... Jusqu"à maintenant ça ne m'a posé aucun problème (enfin presque, y a toutes les histoires d'état et de register, mais bon) je ne pense pas que cela soit ça, mais bon...

    Si quelqu'un a une idée pour résoudre mon problème, je suis preneur, merci

  2. #2
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Par défaut
    Grumph...

    Bon après plusieurs tests, j'ai trouvé la solution...

    Bizzarement, la fonction définit pour l'évènement SelectedIndexChanged de la DropdownList doit être définit comme "Protected" et non comme "Private", et dans ces cas là... tout marche bien...

    Mouais... suis pas sûr de bien comprendre là... si quelqu'un avait des lumières à m'apporter... merci bien :p

    Allez, sinon, zou... résolu

  3. #3
    Membre éclairé Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Par défaut
    c'est normal que ca ne marche pas en private:

    quand tu renseigne la méthode à s'éxécuter sur l'événement SelectedIndexChanged, tu utilise en fait des pointeurs de fonctions (cf type delegate et event dans le msdn) c'est transparent car dans ce cas tout est encapsulé dans la classe de ta dropdownlist.

    En bref, tu délègue l'éxécution d'une méthode à une autre classe, mais si la méthode que tu veux faire exécuter est private, elle ne sera pas accessible à partir de la classe qui doit l'éxécuter, d'ou le bug.
    cqfd

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

Discussions similaires

  1. [Débutant] SelectedIndexChanged sur DropDownList ne se déclenche pas
    Par FruitSellers dans le forum ASP.NET
    Réponses: 5
    Dernier message: 19/03/2014, 12h00
  2. Réponses: 2
    Dernier message: 16/12/2011, 10h46
  3. datagrid-> evènement SelectedIndexChanged
    Par shirya dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/02/2007, 10h03
  4. [C#] Forcer le selectedIndexChange sur dropdownlist
    Par bl4ckwolf dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/06/2006, 14h22
  5. Afficher une dropdownlist lors de modif dans une DataGrid
    Par MiJack dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/11/2004, 17h42

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