【发布时间】:2017-09-30 10:00:19
【问题描述】:
我在元素 selectManyMenu 中有一个元素 selectOneMenu(组件名称已更改)。
<p:selectManyMenu id="#{id}MyItemsList" converter="#{backend.myItemsConverter}"
value="#{backend.selectedItem}"
rendered="#{backend ne null}" var="item">
<f:selectItems value="#{backend.getMyItems()}"
var="varItems"
itemLabel="#{varItems.name}" itemValue="#{varItems.id}"/>
<p:column>
<h:outputText value="#{item.name}" title="#{item.title}"/>
</p:column>
<p:column>
<p:selectOneMenu value="#{item.subId}" converter="#{backend.subItemsConverter}">
<p:ajax listener="#{backend.onSubItemClick}"/>
<f:selectItems value="#{backend.subItems}" var="varSubItems"
itemLabel="#{varSubItems.name}"
itemValue="#{varSubItems.id}"/>
</p:selectOneMenu>
</p:column>
</p:selectManyMenu>
它们正常显示,但是当我在一行中更改 selectOneMenu 的值时,它全部更改。我做错了什么?
【问题讨论】:
-
我做错了什么? 您正在尝试以一种从未打算成为用例的方式嵌套组件。所以很可能只是不支持
-
我的解决方案:使用 p:dataTable 而不是 p:selectManyMenu。在这种情况下,一切都像一个魅力
标签: jsf primefaces