Событие AJAX запускается только один раз в таблице данных Primefaces - PullRequest
1 голос
/ 31 марта 2012

У меня есть dataTable, который заполняется строками. При нажатии на строку, веб-страница включения обновляется новой информацией. К сожалению, событие ajax срабатывает только один раз. Вот код:

.xhtml

<h:form id="form">
<f:loadBundle basename="com.company.messages" var="msgs" />         
<p:tabView id="tabView" effect="fade" effectDuration="fast">
<p:tab title="#{msgs.activeInterestPlansTab}">  

<p:dataTable var="plan" value="#{interestPlanReports.activePlans}" 
rowKey="#{plan.planNumber}"
selection="#{interestPlanReports.selectedPlan}"
selectionMode="single">  

                            <p:ajax event="rowSelect" listener="#{interestPlanReports.onRowSelect}"   
                        update=":form:tabView:tiers" oncomplete="interestPlanPanel.show()" />

                        <p:ajax event="rowUnselect" listener="#{interestPlanReports.onRowUnselect}" 
                        update=":form:tabView:tiers" oncomplete="interestPlanPanel.show()"/>  

                             <p:column headerText="Plan Number">  
                                 #{plan.planNumber}  
                             </p:column>  

                             <p:column headerText="Description">  
                                 #{plan.planDescription}  
                             </p:column>  

                             <p:column headerText="Base Plan" >  
                                 #{plan.basePlanNumber}  
                             </p:column>  

                             <p:column headerText="Base">  
                                 #{plan.interestRateCodeReadable}  
                             </p:column>

                             <p:column headerText="Base Rate">  
                                 <!-- #{plan.baseRatePlan} -->
                                 TODO  
                             </p:column>

                             <p:column headerText="Premium">  
                                 TODO  
                             </p:column>

                             <p:column headerText="Effective Date">
                                 <h:outputText value="#{plan.effectiveDate}" >
                                    <f:convertDateTime pattern="MM/dd/yyyy" />
                                </h:outputText>    
                             </p:column>

                             <p:column headerText="Expiration Date">
                                <h:outputText value="#{plan.expirationDate}" >
                                    <f:convertDateTime pattern="MM/dd/yyyy" />
                                </h:outputText>    
                             </p:column>

                         </p:dataTable>

                        <p:panel id="tiers" widget="interestPlanPanel">
                            <ui:include src="/interestplansearch/interestPlanDetail.xhtml">
                                <ui:param name="interestPlan" value="#{interestPlanReports.selectedPlan}"/>
                            </ui:include>                           
                        </p:panel>

                    </p:tab>

боб

    public InterestPlan getSelectedPlan() {
        if (selectedPlan == null)
        {
            selectedPlan = activePlans.get(0);
        }
        return selectedPlan;
    }

    public void setSelectedPlan(InterestPlan selectedPlan) {
        this.selectedPlan = selectedPlan;
    }

    public void onRowSelect(SelectEvent event)
    {
        setSelectedPlan( (InterestPlan)event.getObject() );
    }

    public void onRowUnselect(UnselectEvent event) {
        setSelectedPlan( (InterestPlan)event.getObject() );
}

Не уверен, что мне не хватает. Я ценю любые отзывы. Спасибо

UPDATE: удаление oncomplete из rowSelect и rowUnselect устраняет проблему в FireFox. Однако в IE первая строка выбора обновляет панель. Любые дополнительные выборки возвращаются к исходному выбору (обновление не строка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...