我有一个可编辑的DataTable,其中一列是SelectOneMenu,其userName为itemlable,id为itemValue 我的Jsf页面如下
<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>
这里的问题是我能够编辑selectOneMenu但是从drop dowm中选择值后,它显示我新选择的用户的ID而不是dataTable中的名称
答案 0 :(得分:0)
看起来像转换错误.. 是否有可能是&#39; id&#39;用户对象的属性与&#39; userID&#39;的属性不同。您将所选值设为或者,该ID为&#39; id&#39;是不是原始类型或字符串,因此你需要一个自定义转换器?