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
Partager