Hi<br><br>Looking some jsf 2.0 code, I notice the current algorithm of  UIData.invokeOnComponent cannot handle the case when the target is a UIColumn instance and no rowIndex is on clientId. Is that ok? <br><br>Checking the new visit tree api, UIData.visitTree cleary says:<br>
<br><i>&quot;....If this component has children, for each UIColumn child:<br><br>Call VisitContext.invokeVisitCallback(javax.faces.component.UIComponent, javax.faces.component.visit.VisitCallback) on that UIColumn instance. If such a call returns true, terminate visiting and return true from this method.<br>
<br>If the child UIColumn has facets, call UIComponent.visitTree(javax.faces.component.visit.VisitContext, javax.faces.component.visit.VisitCallback) on each one.....&quot;<br></i><br>I think we should do something like this:<br>
<br>                for (Iterator&lt;UIComponent&gt; itChildren = this.getChildren().iterator();<br>                        !returnValue &amp;&amp; itChildren.hasNext();)<br>                {<br>                    UIComponent child = itChildren.next();<br>
                    if (child instanceof UIColumn &amp;&amp; clientId.equals(child.getClientId()))<br>                    {<br>                        try {<br>                            callback.invokeContextCallback(context, child);<br>
                        } catch (Exception e) {<br>                            throw new FacesException(e);<br>                        }<br>                        returnValue = true;<br>                    }<br>                    // process the child&#39;s facets<br>
                    for (Iterator&lt;UIComponent&gt; itChildFacets = child.getFacets().values().iterator(); <br>                            !returnValue &amp;&amp; itChildFacets.hasNext();)<br>                    {<br>                        //recursive call to find the component<br>
                        returnValue = itChildFacets.next().invokeOnComponent(context, clientId, callback);<br>                    }<br>                }<br><br>Does that sounds reasonable? Should be fixed on 1.2.x branch too?<br>
<br>regards,<br><br>Leonardo Uribe<br><br>