Désolé double réponse <_< faut plus que je réponde avec l'interface web.
2011/6/29 Brendan Le Ny
<bleny@codelutin.com>
Le 29/06/2011 18:29, Manoël Fortun a écrit :
<ws:wikitty wikitty="lewikitty" proxy="leproxy" action="edit.action">
<ws:hidden name="WikittyLabel.labels" />
<ws:wikittyselect name="WikittyPersonne.epoux" label="epoux"
criteria="WikittyPersonne" descfield="WikittyPersonne.name"/>
D'abord merci d'avoir pris le temps de partager ça avec nous.
J'ai une petite amélioration à suggérer. Ce qui me perturbe dans le code
que tu donnes, c'est l'ordre des valeurs dans la combox qui va être
produite.
Si je prends l'exemple que tu donnes, dans la combo-box il va s'afficher
les noms des personnes retournées par la requête. Je suppose que la
requête va retourner les personnes dans un ordre quelconque. Pour
l'utilisateur, c'est pénible si c'est pas trié.
Il faudrait que la tag lib trie automatiquement les valeurs selon
l'ordre naturel des valeurs de la propriété donnée dans le descfield.
Dans le cas présent, les personnes seront triées selon l'ordre
alphabétique du champ name. Dans 95% c'est ce qu'on souhaite comme tri.
C'est ce que nous avons fait avec Sylvain dans le projet actuel, nous
avons un composant permettant de choisir une entité parmi une
collection, il fait lui-même le tri, ça évite d'avoir à adapter la
requête (order by en SQL) à chaque fois selon le champ qui sera utilisé
pour l'affichage.
Je sais pas si j'suis clair...
Si si j'ai compris.
Je
pense que ça pourrais se faire, après le soucis c'est potentiellement
si dans l'attribut descfield l'utilisateur met plusieurs champs je
concatène les valeurs de ces champs, c'est peut être pas pertinent ya
des choses à améliorer.
Du coup je pense que ça doit pouvoir se mettre dans le criteria.
Je prend note donc et j'essaierais d'inclure si possible directement dans la requête, sinon bah on le fera à la main avec un comparator dans le tree ou un truc dans le style.
--
Manoël