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 :

UserControl - évènement sur modification de valeur


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Points : 21
    Points
    21
    Par défaut UserControl - évènement sur modification de valeur
    Bonjour,

    Je pense que mon titre n'est pas assez explicite, je vais essayer d'exposer mon problème le mieux possible en ne disant que le nécessaire :

    J'ai une classe qui ressemble un peu à une classe métier toute simple :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    public class maClass
    {
            int _codeA;
            int _codeB;
            bool _modifie = false;
     
            public Taux(ServiceReference.NomClasseA objet)
            {
                _codeA = objet.CodeA;
                _codeB = objet.CodeB;
            }
     
            public Taux(ServiceReference.NomClasseB objet)
            {
                _codeA = objet.CodeA;
                _codeB = objet.CodeB;
            }
     
            public int CodeB
            {
                get { return _codeB; }
                set { _codeB = value; }
            }
     
            public int CodeA
            {
                get { return _codeA; }
                set { _codeA = value; }
            }
     
            public bool Modifie
            {
                get { return _modifie; }
                set { _modifie = value; }
            }
    }
    Son but est assez simple, je passe par un service qui attaque une base de données via entity framework, dans cette base j'ai deux tables qui se ressemblent énormément mais ne doivent pas fusionner.

    Je veux que mon userControl (qui contient une grid avec des controls de modif) puisse alimenter son grid d'une collection sans avoir besoin de savoir si il s'agit d'une liste de NomClassA ou d'une liste de NomClassB .

    Tout ça marche (mais si vous avez une solution plus convaincante avec interface par exemple je suis preneur mais là n'est pas vraiment le sujet).

    En fait, je voudrais rattacher un évènement en cas de modification de la valeur (ça en principe je sait faire il suffit d'en mettre un sur la propriété que je veux écouter et déclencher l'évènement dans le set). Là où pour moi c'est compliqué c'est que je ne vois pas quoi mettre dans l'évènement pour que ce dernier soit envoyé à ma page qui intègre le control.

    J'avais bien une idée mais elle me parait bancale, c'était de faire une interface à mes pages qui utilisent le userControl. Celle-ci contiendrait le gestionnaire d'évènement en question. Puis de rajouter un champ de type IPage à ma fausse classe métier, pour ensuite l'alimenter dans les constructeurs et affecter le gestionnaire d'évènement de l'IPage aux propriétés en question... Ca me parait vraiment bizarre comme méthode donc si il y a plus simple...

    Dites moi si je ne suis pas clair :-) merci à vous !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Points : 21
    Points
    21
    Par défaut
    Bonjour, j'ai trouvé la solution. Un truc que je ne connaissais pas encore et qui pourtant est génial : La propagation d'évènement.

    Petit article ici. L'article n'est pas très bien rédigé mais ça reste assez clair et facile à mettre en place ça consiste simplement à propager l'évènement du userControl à celui qui le contient.

    Évidemment ça m'oblige à changer un peu ce que je voulais faire, l'évènement ne se déclenche pas dans la fausse classe métier mais dans le Grid qui contient une liste de ma classe comme datasource mais c'est pas plus mal (et bien mieux que mon idée tordue d'interface sur les pages, composante de ma fausse classe métier lol).

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 04/06/2009, 13h02
  2. Gérer les évènements sur un UserControl
    Par wheelshot dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2009, 15h52
  3. [débutant] gestionnaire d'événements sur modification d'un champ
    Par bankette dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/08/2007, 15h20
  4. Ajouter un événement sur un UserControl
    Par jbourgeais dans le forum ASP.NET
    Réponses: 23
    Dernier message: 23/01/2007, 10h06
  5. [C#]Ajouter un événement sur un UserControl
    Par jbourgeais dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/01/2007, 19h20

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