A grid presents tabular data. It is a composite component, created in terms of several sub-components. The sub-components are statically wired to the Grid, as it provides access to the data and other models that they need.
A Grid may operate inside a {@link org.apache.tapestry5.corelib.components.Form}. By overriding the cell renderers of properties, the default output-only behavior can be changed to produce a complex form with individual control for editing properties of each row. This is currently workable but less than ideal -- if the order of rows provided by the {@link org.apache.tapestry5.grid.GridDataSource} changes between render and form submission, then there's thepossibility that data will be applied to the wrong server-side objects. In general, when using Grid and Form together, you want to provide the Grid with a {@link org.apache.tapestry5.ValueEncoder} (via the encoder parameter).
@see org.apache.tapestry5.beaneditor.BeanModel
@see org.apache.tapestry5.services.BeanModelSource
@see org.apache.tapestry5.grid.GridDataSource