[ http://issues.apache.org/jira/browse/MYFACES-680?page=all ]
Mathias Broekelmann closed MYFACES-680:
---------------------------------------
Resolution: Duplicate
it´s already fixed. See MYFACES-592. It should be available with 1.1.1 release
(or current release candidate)
> x:selectOneRadio tag cannot be nested within the h:dataTable tag in version
> 1.1.0
> ---------------------------------------------------------------------------------
>
> Key: MYFACES-680
> URL: http://issues.apache.org/jira/browse/MYFACES-680
> Project: MyFaces
> Type: Bug
> Versions: 1.1.0
> Environment: Windows XP Pro sp2, Tomcat 4.1.31
> Reporter: Jason Allen
> Priority: Minor
>
> I've run into an issue with version 1.1.0 when trying to implement a
> x:selectOneRadio tag within the h:dataTable tag where only one row from the
> data table can have the radio button selected. In version 1.0.9, I used the
> forceId and forceIdIndex attributes in the x:selectOneRadio tag to force the
> id of each x:selectOneRadio to be the same. Each row in the h:dataTable will
> have x:selectOneRadio with only one SelectItem in it, but since the id's are
> the same, the browser handles it correctly.
> However, with version 1.1.0 in the validateValue(FacesContext, Object) method
> of the javax.faces.component.UISelectOne class, there is a call to
> _SelectItemsUtil.matchValue(FacesContext, Object, Iterator, _ValueConverter)
> which checks to see if the selected value of the x:selectOneRadio exists in
> the list of SelectItems. Since each row in the data table has a
> x:selectOneRadio with only one SelectItem, this check will only return true
> for the row where the radio button is selected. All other rows cause this
> check to fail and add a 'Value is not a valid option' error to the context
> messages list, which prevents the page from performing any other actions.
> Here is an example of how I am using the x:selectOneRadio:
> <h:dataTable
> cellspacing="0"
> style="padding-top: 0px; padding-bottom: 0px;"
> styleClass="form-sub-table"
> value="#{backingBean.personList}"
> var="person">
>
> <h:column>
> <h:outputText value="#{person.firstName} #{person.lastName}"
> escape="false" />
> </h:column>
> <h:column>
> <x:selectOneRadio id="preside"
> forceId="true"
> forceIdIndex="0"
> value="#{backingBean.presidePersonId}"
> valueChangeListener="#{backingBean.presideOverride}"
> style="margin: 0px; border: 0px;"
> border="0">
>
>
> <f:selectItem itemValue="#{person.personId}"
> itemLabel="" />
> </x:selectOneRadio>
> </h:column>
> </h:dataTable>
> It's not completely clear to me why the existence of the x:selectOneRadio
> value in it's child SelectItems needs to be enforced so strictly. I propose
> that this check be either optional or eliminated all toghether.
> Thanks,
> Jason Allen
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira