3 Replies Latest reply on Jun 4, 2013 9:41 AM by Lukáš Fryč

    Issue with a4j:commandButton - Does not invoke action method or setPropertyActionListener the second time through

    Daniel Dausch Newbie

      I am using RichFaces 4.3 and JSF 2.1.21 (Mojarra). I have a pretty straightforward requirement: display a list of objects in an extendedDataTable. One of the columns has a a4j:commandButton that will display a rich:popupPanel that will show more details of the object selected. The first time thru i observe that the action method (which returns null) will fire off as well as the target method on the f:setPropertyActionListener (i have System.out calls in each method and I observe they are called in the INVOKE_APPLICATION phase). The popupPanel displays the data of the selected obj correctly. After I close the popupPanel, I then click on the commandButton on a different row. This time the 2 methods are not invoked and the popupPanel shows the value from the first invocation. Any thoughts about what I am doing wrong?( I have another Production app where this same scenario works however I am using RichFaces 3.3.3 and JSF 2.0.) Here is the code for the comand button in this new app:

       

      <rich:extendedDataTable id="myTable2" var="place"

                                value="#{propertyBean.nearbyProps}"

                                style="height:200px; width:450px;">

      ... other columns

      <rich:column width="83px" style="padding:2">

       

           <f:facet name="header">

                                  <f:verbatim>Actions</f:verbatim>

           </f:facet>

           <a4j:commandButton id="moreDetails" ajaxSingle="true"

                 image="/images/view.gif"

                 styleclass="command-button-icon"

                action="#{propertyBean.viewPropertyDetails}"

                render="propertyDetailsContent" limitRender="true"

                oncomplete="#{rich:component('propertyDetailsPopUpPanel')}.show()" >

                <f:setPropertyActionListener value="#{place.property}"

                      target="#{propertyBean.currentSelectedProperty}"/>                                                                                                                                                                           

                 <rich:tooltip value="View Property details" direction="topLeft"/>

           </a4j:commandButton>

      </rich:column>

      </rich:extendedDataTable>