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

MXML Discussion :

Item renderer avec checkbox & value object


Sujet :

MXML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Points : 57
    Points
    57
    Par défaut Item renderer avec checkbox & value object
    Bonjour,

    Je me pose une question sur la meilleure façon de gérer la sélection d'un value object représenté par un item renderer dans une liste ou une datagrid.

    La situation :
    Je reçois des ValueObject par un webservice (disons que ce sont des Users).
    Je les fournis à ma List par le biais de son dataProvider.

    J'ai construit un item renderer qui contient notamment une checkbox permettant de sélectionner le User associé.
    L'état (checked/unchecked) de la checkbox peut être conditionné de plusieurs façon. La plus simple étant de la binder sur la propriété isSelected du User.

    Je n'apprécie pas cette solution puisqu'elle nécessite l'ajout d'une propriété au ValueObject qui n'existe pas dans la base de données. Bref, le ValueObject ne représente plus parfaitement l'entité de la BDD.


    J'ai pensé à une solution potentiellement plus propre mais trop gourmande. Il suffirait de binder l'état de la checkbox sur la fonction "cet user est il dans la liste des users sélectionnés ?". Cette liste serait une arrayCollection stockée dans un ModelLocator (si on utilise Cairngorm). A chaque dataChange cela implique de reparcourir autant de fois la liste qu'il y a d'item renderer affichés : beurk !


    Avez-vous une bonne idée à partager ?

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Points : 417
    Points
    417
    Par défaut
    Pour moi :

    1. Un value object ne représente pas forcément l'état de la base de données ; tu confonds avec les Domain Objects
    2. Si tu veux vraiment conserver un "binding" entre VO et DO/BDD sans être embêté, je te conseille de passer tes propriétés "graphiques" en [Transient]
    3. Tu peux encore étendre ta classe de base en une classe contenant en plus ces propriétés "graphiques"
    4. Enfin, tu peux utiliser l'association (ou l'aggrégation en UML, me souviens plus...) : un VO graphique contient des infos sur ta vue (c'est donc un modèle de vue) et en plus une référence sur ton VO Métier


    Voilà, maintenant choisis ton camps camarade

    Dans ton exemple "isSelected" peut être considérée comme une valeur métier et pas uniquement graphique, mais il est tard et je chipote

Discussions similaires

  1. ListBox avec CheckBox: click sur un item
    Par yonpo dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 26/11/2010, 11h39
  2. WPF ListView avec Checkbox, trouver l'item qui a été Checked
    Par fmadore dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 09/12/2008, 17h21
  3. [object Object] Item renderer bug
    Par Quintus dans le forum MXML
    Réponses: 2
    Dernier message: 24/11/2008, 21h54
  4. [VBA] repagination de word 2003 avec checkbox.value
    Par m_benoist dans le forum VBA Word
    Réponses: 2
    Dernier message: 25/01/2006, 18h25

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