Can't check any option of h:selectOneRadio inside h:extendedDatatable JSF - jsf

I'm facing a problem related to radioButtons inside a rich:column of a h:extendedDatatable.
I've been reading several blogs and some questions right here in stackoverflow but almost everyone seems to want to put the radioButton options spread through several rows. This is not my case: I'd need to show 'n' groups of three radios every row in my table.
I can't find what I'm doing wrong because I tried putting the radioGroup out of the table and everything worked fine. However, if I put them into the rich:column all my radios appear unchecked.
Here the current code for the column:
<rich:column id="CCATEG_column" >
<h:selectOneRadio id="CCATEG" value="2">
<f:selectItem id="CCATEG_MANAGER" itemValue="1" itemLabel="" />
<f:selectItem id="CCATEG_COMANAGER" itemValue="2" itemLabel="" />
<f:selectItem id="CCATEG_MEMBER" itemValue="3" itemLabel="" />
</h:selectOneRadio>
</rich:column>
I've tried with h:selectOneRadio and wih t:selectOneRadio (tomahawk). Both of them show me the three radios unchecked every row, even when I'm specifying value="2" Any help?
Thanks in advance!!

According to the docs the #value is supposed to be a ValueExpression, so a hard-coded value will not do (I assume this isn't the final use-case). This will work:
<rich:dataTable value="#{bean.intList}" var="value">
<rich:column>
<h:selectOneRadio value="#{value}">
<f:selectItem itemValue="1" />
<f:selectItem itemValue="2" />
<f:selectItem itemValue="3" />
</h:selectOneRadio>
</rich:column>
</rich:dataTable>
By the way, your example doesn't work with standard <h:dataTable>, <h:column> either.

Related

Custom p:radioButton does not work inside a table: id of select not found

I have a table, and I want to put inside any row of this table a custom p:radioButton, on two different columns.
This is the code of the p:selectOneRadio:
<p:selectOneRadio
value="#{bean.val}"
id="val"
required="true"
layout="custom"
>
<f:selectItem itemLabel="" itemValue="A" />
<f:selectItem itemLabel="" itemValue="B" />
</p:selectOneRadio>
and this is the code of one of the radioButton:
<p:radioButton for="tabs:table:#{i}:val" itemIndex="0"/>
I checked with the browser and the id is right. Anyway, I get this error:
javax.faces.FacesException: Cannot find component 'tabs:table:0:val' in view.
What could be the problem? Please help :)
I'm using Primefaces 3.4.1 with Mojarra 2.1.7
Well, the solution was simple, and it was suggested to me by BalusC:
<p:radioButton for="val" itemIndex="0"/>

how to display value data from bean to radio button jsf

Is it possible to display values from my bean to radio button in the view?
I'm using jsf.
<h:outputLabel value="Gender"/>
<h:selectOneRadio value="#{ctrlLogin.session.gender}" readonly="true">
<f:selectItem itemValue="Male" itemLabel="Male" itemDisabled="true" />
<f:selectItem itemValue="Female" itemLabel="Female" itemDisabled="true"/>
</h:selectOneRadio>
i already have a user bean that carries the actual value from the database
Of course it is possible. I assume that you have some kind of list in a bean? You really should provide some code. Anyway, the solution below should give you an idea how to populate radio buttons with values.
<h:selectOneRadio id="radio"
value="#{bean.selectedOption}">
<f:selectItems value="#{bean.listOfOptions}" var="item" itemLabel="#{item}" itemValue="#{item}" />
</h:selectOneRadio>

Primefaces SelectOneMenu not rendering properly with text

I am trying a userform with primefaces 3.5, all the components are working fine except selectonemenu, which not render correctly.
Its text field is not showing on selection of any drop down field.
i can't post image as i don't have that much reputation
Code
<p:panelGrid id="jobsGrid" columns="2" style="width:100%;margin-bottom:20px;margin-top:20px; margin-left:20px;margin-right:20px;text-align:left;">
<f:facet name="header"> ----- Quick Job Posting -----</f:facet>
<h:outputText value="OLF Number " />
<p:inputText value="#{jobs.jobDetail.OLF_No}" />
<h:outputText value="RRF Number " />
<p:inputText value="#{jobs.jobDetail.RRF_No}" />
<h:outputText value="OLF Status " />
<p:selectOneMenu value="#{jobs.jobDetail.OLF_Status}" style="margin-top:0px;margin-bottom:0px;height:5px;font-size:10px">
<f:selectItem itemLabel="---- Select ----" itemValue="" />
<f:selectItem itemLabel="Approved" itemValue="Approved" />
<f:selectItem itemLabel="Pending Approval" itemValue="Pending Approval" />
<f:selectItem itemLabel="New" itemValue="New" />
</p:selectOneMenu>
<h:outputText value="RRF Type " />
<p:selectOneMenu value="#{jobs.jobDetail.RRF_type}" style="margin-top:0px;margin-bottom:0px;height:5px;font-size:10px">
<f:selectItem itemLabel="---- Select ----" itemValue="" />
<f:selectItem itemLabel="Growth" itemValue="Growth" />
<f:selectItem itemLabel="Replacement" itemValue="Replacement" />
</p:selectOneMenu>
Screen Shot
How can i fix this ?
I fixed this this problem by adding following CSS to my page:
.ui-selectonemenu label.ui-selectonemenu-label{
width:100% !important;
}
I also have fixed widths on my selectonemenus.
Hope this helps in your case also. ;)
This is definitely a problem in Primefaces 3.5. I had the exact same issue, and downgrading to 3.4 solved it.
As a data point, it is worth noting that the rendering problem only existed when I navigated to the page through a p:remoteCommand. Normal action-based navigation works correctly, at least for me.
You can post your code some here, or if not try checking BalusC http://balusc.blogspot.nl/2007/09/objects-in-hselectonemenu.html
If you see that your bean annotations are correct, try using primefaces 3.4 or lower versions.

<p:selectOneMenu> getting null on submit/next

I am using primefaces wizard. During wizard flow all parameters saved correctly . However <p:selectOneMenu> items getting NULL on submit.Also on 'back', it will not show what I have selected. Same for <p:selectManyMenu> also. Any solution ?
Here is the code snippets.I'm using primefaces-3.0.M3 and jsf2.
<h:outputText value="Employee Status" />
<p:selectOneMenu id="employeeStatus"value="#{employeeRepositoryImpl.employeeStatus.title}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem itemLabel="Permanent" itemValue="Permanent" />
<f:selectItem itemLabel="Contract" itemValue="Contract" />
<f:selectItem itemLabel="Part-Time" itemValue="Part-Time" />
<f:selectItem itemLabel="Training" itemValue="Training" />
</p:selectOneMenu>
<p:message id="employeeStatusId" for="employeeStatus" />
This is in a <p:wizard> tab, while clicking next button or submit button, the itemValues getting null.Sorry for the re-post.
Have you deleted the previous post?
Anyway, firstly, you should upgrade to Primefaces 3.0.M4!
Secondly, it would be better to use a list along with f:selectItems and all those String values to be stored in a list(this way you have more control over what's in the list and what should the list return), but if you want to stick with f:selectItem try using it with the enclosing tag (it may be a bug without it):
<f:selectItem itemLabel="Permanent" itemValue="Permanent" ></f:selectItem>
Also, I repeat myself, upgrade to Primefaces 3.0.M4!
I have solved it by using primefaces AJAX
<p:ajax update="employeeStatus" listener="#{employeeRepositoryImpl.employeeStatusAjax}" />
inside my </p:selectOneMenu> and I check/process this in side employeeStatusAjax().

How to use h:selectOneMenu in f:selectItem?

<h:selectOneRadio id="profiles" layout="pageDirection" value="#{bean.selectedProfile}" style="font-size:12px;">
<f:selectItem itemValue="0" itemLabel="#{messages.msg_profile1} ">
<h:selectOneMenu id="countries" value="#{bean.selectedCountry}" required="false" style="width:190px">
<f:selectItems value="#{bean.countries}" />
</h:selectOneMenu>
</f:selectItem>
<f:selectItems value="#{fraudBinPageBean.profiles}"/>
</h:selectOneRadio>
I have written above code in my app. It is working fine.
But select box displaying above the radio button.
My requirement display the select box beside the radio button.
Can you please help me what is the problem?
Are you sure that it is working correctly? Referring to this answer it is not possible since the body of the f:selectItem tag must be empty.
Try to redesign your form that you get along without the nested h:selectOneMenu.
You want to keep your radio button and Select box in same line. This is more related to CSS.
Try This code.
<h:selectOneRadio id="profiles" layout="pageDirection"
value="#{bean.selectedProfile}" style="font-size:12px;display:inline">
<f:selectItems value="#{fraudBinPageBean.profiles}"/>
</h:selectOneRadio>
<f:selectItem itemValue="0" itemLabel="#{messages.msg_profile1} ">
<h:selectOneMenu id="countries" value="#{bean.selectedCountry}" required="false" style="width:190px">
<f:selectItems value="#{bean.countries}" />
</h:selectOneMenu>
as shown in above code Add CSS property Display:inline to your style attribute of selectoneradio

Resources