incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Renzo Tomaselli <>
Subject Re: [Trinidad] tr:table cannot change columns between request and response
Date Thu, 19 Apr 2007 09:04:28 GMT
Well, the issue seems located in, line #1102.
Current column stampState is retrieved using row key and column position 
as a stampId. This matches a wrong status, since its contents do not 
match children count of the actual column at that position. The UI table 
component seems ok.
I don't know how to fix it or how to reset stampState after the model 
changed, though.

-- Renzo

Renzo Tomaselli wrote:
> Hi all, I'using tr:table successfully since several months, using 
> c:forEach (Facelets) to render all columns from a dynamic set.
> Now I introduced a widget to allow users to select columns, so that 
> current table might be rendered with a different number/order of columns.
> I was fairly surprised to get an IndexOutOfBound exception from 
> Trinidad (from StampState.restoreChildStampState, after 
> setRowIndex/postRowDataChange/_restoreStampState).
> Basically it seems that the restored view model - built on say N 
> columns - is used at rendering time where columns where reduced to N - 
> 1, according to the new DataModel.
> The exception is due to a column mismatch, since there are different 
> column children there.
> Also I noticed that - when using the binding attribute to get/set the 
> table component - these methods are not called while rendering, if the 
> component has been previously restored. Thus I have no way to return a 
> null component, to force its creation according to a new DataModel.
> Is there any workaround or is this a kind of fixed semantics which 
> does not allow to change columns ?
> Is there any other way to force component re-creation after restore 
> view phase ?
> Thanks -- Renzo

View raw message