you must create a property to store current row (for example "thing")
getThing and setThing ..

and change your template:

<t:grid t:source="thingList" row="thing">
       <t:parameter name="name">
               <t:pagelink page="Start"
context="Thing.name">${thing.name}</t:pagelink>
       </t:parameter>
</t:grid>


the concept here is that you give list of objects to grid with source=
from which grid reads data for the loop.
but the row=  tells the grid where you want to store the current value
which is where grid writes data.

I'm not explaining this very well, but "binding" is a basic tapestry
concept.

Davor Hrg


On 10/17/07, Heck, Bob <[EMAIL PROTECTED]> wrote:
>
> I have a .page that returns a List<Thing>  - that works.
>
>
>
> When I try this:
>
> <t:grid t:source="thingList" row="Thing">
>         <t:parameter name="name">
>                 <t:pagelink page="Start"
> context="Thing.name">${Thing.name}</t:pagelink>
>         </t:parameter>
> </t:grid>
>
> I get this:
>
> ---
> org.apache.tapestry.ioc.internal.util.TapestryException
>
> Could not convert 'Thing.name' into a component parameter binding: Class
> eds.sla.spring.web.tapestry.pages.DocManagement does not contain a
> property named 'Thing' (within property expression 'Thing.name').
> Available properties: class, componentResources, thingList.
> ---
>
> thingList is a List<Thing> and is populated.
>
> the getThingList() on the page works and returns the List<Thing>.  So,
> why can't tapestry see Thing?  Thing is the row, it is the type of
> object that is returned in the List.
>
>
>
>
>

Reply via email to