I have a search form and a grid with the results.
I'd like to submit the form and update the grid with the filtered
results without doing a full page refresh.
My take on this is to set the form component "zone" parameter to the
grid zone id so that the form submit it's treated "AJAX way" and the
submission triggers the grid zone to get updated. The form submit event
handler method filters the search results, changes the property that the
grid uses as datasource and returns the Grid component itself.
This strangely enough only works the first time i perform the search.
From there on i always get an exception when i click the search button,
that seems to be related to the fact that the Grid doesn't acknowledge
that the datasource size has changed. Here's the stack trace:
Caused by: java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at
org.apache.tapestry5.internal.grid.CollectionGridDataSource.getRowValue(CollectionGridDataSource.java:111)
at
org.apache.tapestry5.corelib.components.Grid$CachingDataSource.getRowValue(Grid.java:324)
at
org.apache.tapestry5.corelib.components.GridRows.setupForRow(GridRows.java:238)
at
org.apache.tapestry5.corelib.components.GridRows$SetupForRow.execute(GridRows.java:70)
at
org.apache.tapestry5.corelib.components.GridRows$SetupForRow.execute(GridRows.java:57)
at
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:447)
Any ideas would be most welcome.
Thanks.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]