Primefaces来自p:selectOneRadio的Ajax调用Primefaces中的Treetable行不调用支持bean方法

时间:2013-09-13 14:00:46

标签: ajax jsf primefaces treetable

我在一列中使用嵌套的无线电选择按钮进行了以下处理。 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树节点单选按钮上正确生成。 随后选择任何其他第二级treenode单选按钮,其中从该子树中选择了treenode之前会触发相同的(正确的?)ajax请求,但不会进入支持bean方法dealerShipSelectionBean.updateDetailEvent(e)

例如
select ba - Ajax调用支持bean方法.updateDetailEvent(e)正确生成
选择bb - 进行Ajax调用,但不调用辅助bean方法.updateDetailEvent(e) select ab - Ajax调用支持bean方法.updateDetailEvent(e)正确生成
选择a - Ajax调用支持bean方法.updateDetailEvent(e)正确生成
选择a - Ajax调用支持bean方法.updateDetailEvent(e)正确生成
select b - Ajax调用支持bean方法.updateDetailEvent(e)正确生成
选择ab - Ajax调用但是没有调用支持bean方法.updateDetailEvent(e) 选择bc - 进行Ajax调用,但不调用辅助bean方法.updateDetailEvent(e)。

非常感谢任何帮助。

primefaces 3.6-SNAPSHOT mojoraa 2.1.18 tomcat 7

0 个答案:

没有答案