users@javaserverfaces.java.net

Setting attribute value to component inside UIData

From: Alexander <alexanderibelov_at_mail.ru>
Date: Fri, 27 Jul 2007 17:30:59 +0400

I use components inside UIData and change their attributes by children
components.

I tried to use UIComponent.setValueExpression("onclick", ...),
UIComponent.getAttributes().put("onclick", ...),
UIComponent.setValueBinding("onclick", ...). It works good for components,
which is not within UIData. But in this case I have seen the following
problem: I set attribute for component on the first row only, but its value
is set for the other components too (I mean the same component but on the
other rows).

Component, for which I set attribute, has client id like:
UIDataId:rowIndex:componentId. I set value to component on the third row,
and have this value on components on the third and the fifth row (I use
different components on different rows, it depends on business logic;
components on the third and fifth rows are equals). Besides, I try to get
other attributes' values of my component. And everything is right, I get
values from component on the third row.

Is it bug or do I something wrong? How can I set attribute value on the
third row and don't have this value in component on the fifth row?