primefaces 数据表行编辑器不适用于 p:selectManyMenu

primefaces datatable rowEditor not working for p:selectManyMenu

我已经为 inputtext、autocomplete 等组件实现了 primefaces 行编辑器。我正在尝试为 selectmanymenu 实施,但无法获得结果。如果我使用单元格编辑器,那么我需要使用输入和输出值应该引用相同的。这里的 selectmanymenu 值将是列表而不是单个变量。所以我不知道怎么处理。

我想知道 p:selectManyMenu 和 p:cellEditor 的正确实现。我不确定我们是否也可以选择这样做。

我在 Whosebug 和 google 中搜索过,没有得到任何答案。

请帮帮我。

下面是代码详情

<p:dataTable
    value="#{projectViewBean.projectListToEdit}"
    editable="true" var="proj" id="editProjLst">
     <p:ajax event="rowEdit" listener="#{projectEntryBean.onEdit}"/>
     <p:ajax event="rowEditInit" listener="#{projectEntryBean.onRowEditInit}"></p:ajax>
<p:column headerText="Project Status" id="sts">
        <p:cellEditor>
            <f:facet name="output">
                <p:outputLabel value="#{proj.projectStatus}"></p:outputLabel>
            </f:facet>
            <f:facet name="input">
                <p:selectOneMenu
                    value="#{proj.projectStatus}"
                    id="pjstval">
                    <f:selectItems value="#{projectEntryBean.projectStatusList}"
                        id="pjstlst" />
                </p:selectOneMenu>
            </f:facet>
        </p:cellEditor>
</p:column>
<p:column headerText="Phase" id="dbphase">
        <p:cellEditor>
            <f:facet name="output">
                <p:outputLabel value="#{proj.projectPhaseValue}"></p:outputLabel>
            </f:facet>
            <f:facet name="input">
                <p:autoComplete
                    completeMethod="#{projectEntryBean.autoSearchProjectPhase}"
                    value="#{proj.projectPhaseValue}"
                    dropdown="true" scrollHeight="200" emptyMessage="No Phase Found"
                    minQueryLength="1" forceSelection="true"></p:autoComplete>
            </f:facet>
        </p:cellEditor>
    </p:column>
<p:column headerText="Project Manager" id="pjtmgr">
        <p:cellEditor id="pm">
            <f:facet name="output">
                <p:outputLabel value="#{projectEntryBean.pjtView.projectUserList}"></p:outputLabel>
            </f:facet>
            <f:facet name="input">
                <p:selectManyMenu
                    value="#{proj.projectManager}"
                    id="projectmanagerval">
                    <f:selectItems value="#{projectEntryBean.pjtView.projectUserList}"
                        id="pmlst" />
                </p:selectManyMenu>
            </f:facet>
        </p:cellEditor>
    </p:column>
<p:column style="width:32px">
        <p:rowEditor />
    </p:column>
</p:dataTable>

终于可以通过转换器来实现了。这可能对某人有帮助。请看解决方法

<p:column headerText="Project Manager" id="pjtmgr">
    <p:cellEditor id="pm">
        <f:facet name="output">
            <p:outputLabel value="#{proj.projectManager}">
           <f:converter converterId="vendorConverter"></f:converter>
          </p:outputLabel>
        </f:facet>
        <f:facet name="input">
            <p:selectManyMenu
                value="#{proj.projectManager}"
                id="projectmanagerval">
                <f:selectItems value="#{projectEntryBean.pjtView.projectUserList}"
                    id="pmlst" />
            </p:selectManyMenu>
        </f:facet>
    </p:cellEditor>
</p:column>