Addition information: the exception occurs only if I submit the form after a column sort process was done. Also the stack begins with the following lines:
Stack trace - org.apache.tapestry5.internal.beaneditor.BeanModelImpl.getById(BeanModelImpl.java:185) - org.apache.tapestry5.corelib.components.Grid$DefaultGridSortModel.getSortConstraints(Grid.java:364) - org.apache.tapestry5.corelib.components.Grid.setupDataSource(Grid.java:483) - org.apache.tapestry5.corelib.components.Grid.setupRender(Grid.java:447) - org.apache.tapestry5.corelib.components.Grid.setupRender(Grid.java) And I found in the grid's documentation, about sort-model: "*The model used to handle sorting of the Grid. This is generally not specified, and the built-in model supports only single column sorting. The sort constraints (the column that is sorted, and ascending vs. descending) is stored as persistent fields of the Grid component*." Is the grid catching the old properties in the sort-model??? ------------------------------------------------------------------ David Germán Canteros 2012/7/10 David Canteros <davidcanteros....@gmail.com> > Hi guys! > I'm looking for help with a rare case. I have a zone, a form (with a > checkbox) and a grid. The form and the grid are enclosed by the zone. > > <t:zone t:id="targetsZone" t:update="show"> > > <t:form t:id="filterTargetsForm" t:zone="targetsZone" zone="targetsZone"> > <t:checkbox t:id="flag" t:value="flag" /> > <t:submit value="Filter" /> > </t:form> > > <t:grid source="targets" row="target" model="myModel" inPlace="true" /> > > </t:zone> > > On the java side: I change the grid model, depending on the checkbox value: > > @Component > private Zone targetsZone; > > @Property > @Persist > private boolean flag; > > public BeanModel<CycleTargets> getMyModel() { > > BeanModel<CycleTargets> myModel = beanModelSource.createDisplayModel( > CycleTargets.class, messages); > > if (flag){ > myModel.include(.....); > myModel.exclude(.....); > myModel.reorder(.....); > } else { > myModel.include(.....); > myModel.exclude(.....); > myModel.reorder(.....); > } > > } > > > void onSubmitFromFilterTargetsForm() { > this.ajaxResponseRenderer.addRender("targetsZone", this.targetsZone); > } > > Note that the method "onSubmit" only update the zone. So, depending if > the checkbox is clicked or not, i want to change the properties displayed > by the grid. > The problem is that after the form-submit the model seem not to change > and throws an "*Render queue error in > SetupRender[cycles/NewEditCyclePage:targetsgrid]: Bean editor model for > XXXXXXXX does not contain a property with id 'XXXXXX'*" > > Do you know if the model of a grid can be changed on this way? > > Thanks in advance! > > > ------------------------------------------------------------------ > David Germán Canteros >