Ajax4jsf rerendering a datatable from a popup window command
boubou.camara Jun 22, 2007 10:39 AMHello there,
I am facing a rerendering problem in the following scenario, any help/hint is welcome :
mainpage.faces code snippet
_________________________
<a4j:outputPanel id="panelpricingOverrideByCurrencyTable"> <t:panelGrid cellspacing="1" cellpadding="0" width="100%" columns="7" rendered="#{pricingBackingBean.beanID == 'floatingInterestRatesNonMajor'}"> <t:panelGroup styleClass="panelGroupCenteredStyle"> <t:dataTable id="pricingOverrideByCurrencyTable" value="#{pricingCtrl.backingBean.OverrideCurrenciesData}" var="currentRow" width="100%" styleClass="tableWithTieredSpreadValueStyle" headerClass="tableHeaderBackground" forceId="true"> <t:column styleClass="centred_column_base_rates"> <f:facet name="header"><t:outputText styleClass="text" value="CUR"/></f:facet> <t:outputText styleClass="fieldValueStyle" value="#{currentRow.ccy}"></t:outputText> </t:column> <t:column styleClass="centred_column_base_rates"> <f:facet name="header"><t:outputText styleClass="text" value="Calc. Rule"/></f:facet> <t:outputText styleClass="fieldValueStyle" value="#{currentRow.pricingRule}"></t:outputText> </t:column> <t:column styleClass="centred_column_base_rates"> <f:facet name="header"><t:outputText styleClass="text" value="Int. Basis"/></f:facet> <t:outputText styleClass="fieldValueStyle" value="#{currentRow.intCalcBasis}"></t:outputText> </t:column> <t:column styleClass="centred_column_base_rates"> <f:facet name="header"><t:outputText styleClass="text" value="Effective Date"/></f:facet> <t:outputText styleClass="fieldValueStyle" value="#{currentRow.effDate}"></t:outputText> </t:column> <t:column styleClass="centred_column_base_rates"> <f:facet name="header"><t:outputText styleClass="text" value="Debit Base Rate"/></f:facet> <t:outputText styleClass="fieldValueStyle" value="#{currentRow.baseRateCodeDr}"></t:outputText> </t:column> <t:column styleClass="centred_column_base_rates"> <f:facet name="header"><t:outputText styleClass="text" value="Credit Base Rate"/></f:facet> <t:outputText styleClass="fieldValueStyle" value="#{currentRow.baseRateCodeCr}"></t:outputText> </t:column> <t:column styleClass="centred_column_base_rates"> <a4j:commandLink value="#{msgs.m_common_update}" onclick="fireDHTMLWindow('/myproject/pages/overrideCurrency.faces?phaseInitController=pricingCtrl&phaseInitMode=UC¤cy=#{currentRow.ccy}',550,600); return false"/> </t:column> </t:dataTable> </t:panelGroup> </t:panelGrid> </a4j:outputPanel>
popup window page snippet : overrideCurrency.jsp
____________________________________
<t:panelGroup style="align:center; width:100%;" rendered="#{pricingCtrl.pricingOverrideByCcyBackingBean.updateMode}"> <a4j:commandButton styleClass="smallBlueButton" id="applyPricingButtonOverrideCcy" value="Apply Pricing" actionListener="#{pricingCtrl.applyPricingOverride}" reRender="panelpricingOverrideByCurrencyTable"> <a4j:ajaxListener type="org.ajax4jsf.ajax.ForceRender" /> </a4j:commandButton> </t:panelGroup>
the actionLister pricingCtrl.applyPricingOverride modifies the collection pricingCtrl.backingBean.OverrideCurrenciesData . What i wanted is to rerender the parent datatable container : panelpricingOverrideByCurrencyTable.
Thanks for your help.