hi, you cannot create T5 components dynamically .... but you can simulate it :)
you can define Blocks with any (nested) T5 components and HTML fragments that can be re-used multiple times to render a page. take a closer (source code) look at the BeanEditor. it creates input fields for every property of a given bean. it has a loop with a delegate in it which is able to render any block that was determined for the current property. eg. for every String property it will render a block with a TextField component for every Date property it will render a block containing the DateField compoinent ... i hope this helped g, kris "Edouard sur edouardmercier.fr" <[EMAIL PROTECTED]> Gesendet von: [EMAIL PROTECTED] 25.09.2008 18:50 Bitte antworten an "Tapestry users" <users@tapestry.apache.org> An users@tapestry.apache.org Kopie Thema Creating inner components on the fly in a form custom component Hello. I've been digging the web with no success, but I'm a Tapestry 5 newbie (running the v5.0.15), thus maybe I missed something. I'm currently attempting to develop a custom Tapestry component that aims at inserting HTML "select/checkbox/textfield" tags into an existing HTML form. Let's say that I have a .tml which contains a <t:form>, in which I have my <t:myCustomComponent> element. This myCustomComponent component is supposed to render multiple HTML "select/checkbox/textfield" elements, depending on its main Tapestry parameter. But, instead of writing plain HTML via the traditional "beginRender/afterRender()" methods, I'd prefer to re-user the built-in "Select/CheckBox/TextField" Tapestry classes, and add instances of those classes as inner components of my myCustomComponent component. The idea is, on the enclosing form submission, to be able to retrieve the values of those various HTML form sub elements. I do not know whether this is feasible. Is it possible to add components on-the-fly to an existing component during its rendering process (or at another relevant moment)? I do not even know where to start with. Could someone, please give me a hint on how to achieve that? Thank you for your help and time. Cheers, Édouard --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]