Jsf 可编辑数据表中的SelectOne菜单在选择后显示ItemValue而不是itemLable
我有一个可编辑的数据表,其中一列是SelectOneMenu,它的用户名是itemlable,id是itemValue 我的Jsf页面如下Jsf 可编辑数据表中的SelectOne菜单在选择后显示ItemValue而不是itemLable,jsf,primefaces,jsf-2,Jsf,Primefaces,Jsf 2,我有一个可编辑的数据表,其中一列是SelectOneMenu,它的用户名是itemlable,id是itemValue 我的Jsf页面如下 <h:form styleClass="form-horizontal" id="assignIssueId"> <p:dataTable id="dataTableId" var="issue" value="#{assignIssueController.issueList}" e
<h:form styleClass="form-horizontal" id="assignIssueId">
<p:dataTable id="dataTableId" var="issue"
value="#{assignIssueController.issueList}" editable="true"
editMode="cell" widgetVar="cellCars">
<f:facet name="header">
Cell Editing with Click and RightClick
</f:facet>
<p:ajax event="cellEdit"
listener="#{assignIssueController.onCellEdit}" />
<p:column headerText="Issue Number">
<h:outputText value="#{issue[0]}" />
</p:column>
<p:column headerText="Issue Describtion">
<h:outputText value="#{issue[1]}" />
</p:column>
<p:column headerText="Issue Type">
<h:outputText value="#{issue[2]}" />
</p:column>
<p:column headerText="Assign To">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{issue[3]}" />
</f:facet>
<f:facet name="input">
<h:selectOneMenu value="#{assignIssueController.userId}"
style="width:100%">
<f:selectItems value="#{assignIssueController.userlist}"
var="ul" itemLabel="#{ul.firstName}" itemValue="#{ul.id}" />
</h:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Issue Type">
<h:outputText value="#{issue[4]}" />
</p:column>
</p:dataTable>
</h:form>
使用单击和右键单击进行单元格编辑
这里的问题是我可以编辑SelectOne菜单,但在从drop dowm中选择值后,它会显示我新选择的用户的id,而不是dataTable中的名称看起来像是一个转换错误。。
用户对象的“id”属性是否可能与您将所选值指定给的“userID”类型不同,或者“id”不是基元类型或字符串,因此您需要自定义转换器?问题[3]要显示什么?它的列表,其中一个可以根据要分配的问题选择用户。您应该将ul设置为itemValue,然后当您选择一个用户时,您触发一个事件,在该事件中,您将所选用户设置为问题[3],两者都是int类型。ok,奇怪。。。但由于您已经准备好在项目中使用primefaces,您可以尝试使用。。。