Hi Ron,
I also searched a lot of time and found an example in the cocoon(2.1.10)
distribution (heavy-binding.xml).
Here is a concrete example (using beans as data model):
definition:
...
<fd:repeater id="customers">
<fd:label><i18n:text>customers</i18n:text>:</fd:label>
<fd:widgets>
<fd:output id="customerId">
<fd:datatype base="integer"/>
</fd:output>
<!-- the nested repeater definition -->
<fd:repeater id="orders">
<fd:label><i18n:text>orders</i18n:text></fd:label>
<fd:widgets>
<fd:output id="orderId">
<fd:datatype base="integer"/>
</fd:output>
<!-- additional order fields -->
</fd:widgets>
</fd:repeater>
<!-- additional customer fields -->
</fd:widgets>
</fd:repeater>
...
binding:
...
<!-- suppose you have a data model bean with a method named
'getCustomers()' that returns a collection of Customers -->
<fb:repeater id="customers" parent-path="." row-path="customers">
<fb:identity>
<fb:value id="customerId" path="id" />
</fb:identity>
<fb:on-bind>
<!-- suppose your data model bean 'Customer' has a method named
'getOrders()' that returns a collection of Orders -->
<fb:repeater id="orders" parent-path="." row-path="orders">
<fb:identity>
<fb:value id="orderId" path="id" />
</fb:identity>
</fb:repeater>
</fb:on-bind>
</fb:repeater>
...
template:
...
<ft:repeater id="customers">
<div>
<table>
<jx:choose>
<jx:when test="${repeater.getSize() == 0}">
<tr><td>no customers</td></tr>
</jx:when>
<jx:otherwise>
<ft:repeater-rows>
<tr>
<td>
<ft:widget id="customerId"/>
</td>
<td>
<ft:repeater id="orders">
<!-- layout the nested repeater -->
</ft:repeater>
</td>
</tr>
</ft:repeater-rows>
</jx:otherwise>
</table>
</div>
</ft:repeater>
...
Hi All
I have a requirement to nest repeaters as follows:
A summary page displays a list of customers.
Each customer has a list of current orders.
I want to list the companies, each having a table of orders. I am
using the binding framework to display the page. The current
requirement is read only, but I suspect that the correct answer will
cover editable fields as well. Does anyone have an example on exactly
how to do this? A search of the Cocoon site suggests that this is
possible, but does not give a definitive example. What I need is XML
snippets from a sample page_template.xml, page.xml and page_bind.xml
files.
Any help much appreciated.
Regards
Ron
--
Oliver Scheel
Software Engineer
Wazap AG
Karl-Liebknecht-Str. 5
D-10178 Berlin (Mitte)
E-Mail: [EMAIL PROTECTED]
URL: http://wazap.de / http://wazap.jp
Winner of the prestigious 2007 Red Herring Europe 100 award
Sitz: Berlin (HRB 103534 B, Amtsgericht Berlin-Charlottenburg)
Vorstand: Andreas Rührig (VV), Timo Meyer, Alexander Piutti, Philip
Gienandt
Aufsichtsrat: Martin Sinner (Vors.), Frank Böhnke, Florian Seubert, Markus
Jorquera Imbernón
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]