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>
我已经为 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>