可编辑DataTable中的SelectOneMenu在选择后显示ItemValue而不显示itemLable

时间:2017-03-16 12:32:59

标签: jsf primefaces jsf-2

我有一个可编辑的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中的名称

1 个答案:

答案 0 :(得分:0)

看起来像转换错误.. 是否有可能是&#39; id&#39;用户对象的属性与&#39; userID&#39;的属性不同。您将所选值设为或者,该ID为&#39; id&#39;是不是原始类型或字符串,因此你需要一个自定义转换器?