Raphaël Franchet wrote:

Les deux idées ne sont pas incompatibles.

Pour mettre un état Invisible, je pense qu'il faudra insérer un élément de formulaire supplémentaire, car le repeater ne possède pas l'information 'visible/invisible'.


Si :-)

A partir de la verion 2.1.6, tous les widgets CForms on un "state", prenant les valeurs active/disabled/invisible.

Cet état est applicable à tous les widgets, y compris un repeater. Un widget invisible ne produit pas de valeur et ne lit pas la requête en retour. Toutefois, le repeater est un cas particulie puisque c'est le template de page qui construit la structure du repeater (genre une <table> autour).

Si le template de présentation du formulaire utilise JXTG, on peut utiliser qq chose du style

<jx:if test="${form.lookupWidget("monrepeater").getState().isDisplayingValues()}">
<ft:repeater .......
</ft:repeater>
</jx:if>


On peut aussi faire plus simple en ajoutant un <fd:struct> sur les blocs qu'on veut plier/déplier. C'est alors l'état du "struct" qu'on va changer, et le test précédent est simplement remplacé par :

<ft:struct id="monblock">
 ....
</ft:struct>

Et puis, comme le propose Raphaël, il faudra ajouter un bouton plier/déplier dont l'action sera de permuter l'état du struct entre visible/invisible.

Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }


--------------------------------------------------------------------- Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]



Répondre à