1 つの列にネストされたラジオ選択ボタンがある次のツリーテーブルがあります。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
| -----
問題
バッキング Bean メソッドの dealShipSelectionBean.updateDetailEvent(e) への Ajax 呼び出しが、すべてのレベル 1 ツリー ノードのラジオ ボタンで正しく行われます。
バッキング Bean メソッドの dealShipSelectionBean.updateDetailEvent(e) への Ajax 呼び出しは、最初のレベル 2 ツリー ノードのラジオ ボタンで正しく行われます。以前にそのサブツリーからツリーノードが選択された他の第 2 レベルのツリーノードラジオボタンを選択すると、同じ (正しい?) ajax リクエストが起動されますが、バッキング Bean メソッドの DealerShipSelectionBean.updateDetailEvent(e) には割り込まれません。
たとえば
、select ba - バッキング Bean メソッド .updateDetailEvent(e) への Ajax 呼び出しが正しく行われ
ます select bb - Ajax 呼び出しが行われましたが、バッキング Bean メソッド .updateDetailEvent(e) が呼び出されません。
select ab - バッキング Bean メソッドへの Ajax 呼び出し .updateDetailEvent(e) が正しく行われ
ます select a - バッキング Bean メソッドへの Ajax 呼び出し .updateDetailEvent(e) が正しく行わ
れます正しく
選択 b - バッキング Bean メソッド .updateDetailEvent(e) への Ajax 呼び出しが行われます 正しく
選択 ab - Ajax 呼び出しが行われましたが、バッキング Bean メソッド .updateDetailEvent(e) は呼び出されません。
select bc - Ajax 呼び出しが行われましたが、バッキング Bean メソッド .updateDetailEvent(e) が呼び出されません。
どんな助けでも大歓迎です。
primefaces 3.6-SNAPSHOT mojoraa 2.1.18 tomcat 7