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
>

Reply via email to