我有以下树表,其中一列中有嵌套的单选按钮。Primefaces Ajax 标记在值更改时会部分提交。
<p:treeTable value="#{carBean.partsTree}" var="document" id="multiSelect"
selection="#{carBean.selectedNodes}" selectionMode="single" >
<p:column style="width:150px" styleClass="column1asd">
<f:facet name="header">
DealerShip
</f:facet>
<h:outputText value="#{document.name}" />
</p:column>
<p:column style="width:100px;text-align: center ">
<f:facet name="header">
Car Types
</f:facet>
<h:outputText value="#{document.numCarTypes}" />
</p:column>
<p:column style="width:100px;text-align: center">
<f:facet name="header">
Contacts
</f:facet>
<h:outputText value="#{document.contactName}" />
</p:column>
<p:column style="width:100px;text-align: center">
<f:facet name="header">
Contact Emails
</f:facet>
<h:outputText value="#{document.dealerShipContactEmail}" />
</p:column>
<p:column style="width:100px">
<f:facet name="header">
Retail | Commercial | Distribution
</f:facet>
<p:selectOneRadio value="#{document.selectedContactOption}" >
<f:selectItem itemValue="Retail" itemLabel="" style="margin-left:"/>
<f:selectItem itemValue="Commercial" itemLabel="" />
<f:selectItem itemValue="Distribution" itemLabel="" />
<p:ajax update=":moreLikeThis:count" process="@all" listener="#{dealerShipSelectionBean.updateDetailEvent(e)}" />
</p:selectOneRadio>
</p:column>
</p:treeTable>
假设数据视图:
Level
R 1 2
|
| a
-----
| |
| | aa
| -----
| | ab
| -----
|
| b
-----
| |
| | ba
| -----
| | bb
| -----
| | bc
| -----
| | bd
| -----
| | be
| -----
问题
Ajax 调用支持 bean 方法dealerShipSelectionBean.updateDetailEvent(e) 在每个级别 1 树节点单选按钮上正确进行。
Ajax 调用支持 bean 方法dealerShipSelectionBean.updateDetailEvent(e) 在第一个级别 2 树节点单选按钮上正确进行。随后选择任何其他二级树节点单选按钮,其中已从该子树中选择了树节点,先前会触发相同的(正确的?)ajax 请求,但不会中断支持 bean 方法dealerShipSelectionBean.updateDetailEvent(e)
例如
,选择 ba - 正确调用支持 bean 方法 .updateDetailEvent(e) 的
Ajax 选择 bb - 进行 Ajax 调用但不调用支持 bean 方法 .updateDetailEvent(e)。
选择 ab -
正确
调用支持 bean 方法 .updateDetailEvent(e)正确
选择 b - Ajax 调用支持 bean 方法 .updateDetailEvent(e) 正确
选择 ab - Ajax 调用但不调用支持 bean 方法 .updateDetailEvent(e)。
select bc - 进行了 Ajax 调用,但不调用支持 bean 方法 .updateDetailEvent(e)。
非常感谢任何帮助。
primefaces 3.6-SNAPSHOT mojoraa 2.1.18 tomcat 7