With some debugging we noticed this:
1. During saveState, the component's clientId is in this format: "form:table:rowIdx:compId".
2. During restoreState, the component's clientId is still null and sometimes we could see it returning this format: "form:table:compId" (excluding row index)
Sorry, wrong input.
Actually during the saveState, JSF recognize the component's clientId as "form:table:compId" (excluding row index).
And one more thing, even though i have the component in each row, but the debugger only enter the component saveState once. Does JSF exclude read-only component during saveState?
Please take a look at org.ajax4jsf.component.UIDataAdaptor.saveChildState(FacesContext, UIComponent, Map<String, SavedState>) method - your component should save the whole state properly.
After looking at your reply, the problem could be related to a 3rd party table component that we are using. All this while i have been looking,testing,searching within my own little component.
Thanks for the hint. I will post this in their forum then.