PrimeFaces commandButton actionListener is not fired after form is updated
<p>I'm working on glassfish 3.x with primefaces 3.4.2 </p>

<p>I use a form to update  a datatable record information. When a row is selected, I update the form (update=":hsupform:hsupgrid"). After than I update manually reason inputTextarea and click on "Update Details" commandButton; but the actionLisneter is not fired.
Please advice. 
Below are complete code I use.</p>

<p>NB: I notice that without selecting row, when I click on the button actionListener is fired but I get error because there is no data (this is normal behavior)</p>

<p>Form used for update :</p>

<p></p>

<pre><code>        &lt;p:panel header="Update halted site"
            style="border-style: none;border-bottom-style:solid;margin-right:5%;"&gt;
            &lt;h:panelGrid columns="2" id="hsupgrid"&gt;

                &lt;h:outputLabel value="BSC : " for="txt_bscname" /&gt;
                &lt;h:outputLabel id="txt_bscname"
                    value="#{hsBean.selectedhst.bscname}" style="font-weight: bold;" /&gt;


                &lt;h:outputLabel value="Site ID : " for="txt_siteid" /&gt;
                &lt;h:outputLabel id="txt_siteid" value="#{hsBean.selectedhst.siteid}"
                    style="font-weight: bold;" /&gt;

                &lt;h:outputLabel value="Site name : " for="txt_site_name" /&gt;
                &lt;h:outputLabel id="txt_site_name"
                    value="#{hsBean.selectedhst.sitename}" style="font-weight: bold;" /&gt;

                &lt;h:outputLabel value="Halted since : " for="txt_halted_since" /&gt;
                &lt;p:calendar id="txt_halted_since"
                    value="#{hsBean.selectedhst.since}" pattern="yyyy-MM-dd HH:mm" /&gt;

                &lt;h:outputLabel value="Reason : " for="txt_reason" /&gt;
                &lt;p:inputTextarea rows="5" cols="50" id="txt_reason"
                    value="#{hsBean.selectedhst.reason}" style="font-weight: bold;" /&gt;

            &lt;/h:panelGrid&gt;
            &lt;p:commandButton value="Reset" type="reset"
                actionListener="#{hsBean.reinit}" /&gt;
            &lt;p:commandButton id="btn_add" value="Update Details" type="submit"
                action="#{hsBean.updateDetail}" /&gt;
        &lt;/p:panel&gt;

    &lt;/h:form&gt;
</code></pre>

<p>Form that contain datatable:</p>

<p>
            </p>

<pre><code>            &lt;!-- In the data bale, we have enable selection function: selection mode, selected row key and finally selected row destination --&gt;

            &lt;p:dataTable id="hsupdatedetailtable" var="hsup"
                value="#{hsBean.hslist}" paginator="true" rows="5"
                rowsPerPageTemplate="5,10,15,20,25,30"
                paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
        {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                emptyMessage="There is no halted 2G site in the network"
                paginatorPosition="both" rowKey="#{hsup.id}"
                selection="#{hsBean.selectedhst}" selectionMode="single"&gt;

                &lt;!-- Below unable action to be performed when the row is selected --&gt;
                &lt;p:ajax event="rowSelect" update=":hsupform:hsupgrid" /&gt;

                &lt;f:facet name="header"&gt;
                    &lt;span style="font-family: times, serif; font-size: 1pc"&gt;HALTED
                        SITES DETAILS&lt;/span&gt;
                &lt;/f:facet&gt;

                &lt;p:column styleClass="c0"&gt;
                    &lt;f:facet name="header"&gt;
                        &lt;h:outputText value="CHECK TIME" /&gt;
                    &lt;/f:facet&gt;
                    &lt;h:outputText value="#{hsup.requesttime}"&gt;
                        &lt;f:convertDateTime dateStyle="full" timeZone="GMT+1" type="both"
                            pattern="yyyy-MM-dd HH:mm:ss" /&gt;
                    &lt;/h:outputText&gt;
                &lt;/p:column&gt;

                &lt;p:column styleClass="c0"&gt;
                    &lt;f:facet name="header"&gt;
                        &lt;h:outputText value="BSC" /&gt;
                    &lt;/f:facet&gt;
                    &lt;h:outputText value="#{hsup.bscname}" /&gt;
                &lt;/p:column&gt;

                &lt;p:column styleClass="c0"&gt;
                    &lt;f:facet name="header"&gt;
                        &lt;h:outputText value="SITEID" /&gt;
                    &lt;/f:facet&gt;
                    &lt;h:outputText value="#{hsup.siteid}" /&gt;
                &lt;/p:column&gt;

                &lt;p:column styleClass="c0"&gt;
                    &lt;f:facet name="header"&gt;
                        &lt;h:outputText value="SITENAME" /&gt;
                    &lt;/f:facet&gt;
                    &lt;h:outputText value="#{hsup.sitename}" /&gt;
                &lt;/p:column&gt;

                &lt;p:column styleClass="c0"&gt;
                    &lt;f:facet name="header"&gt;
                        &lt;h:outputText value="REASON" /&gt;
                    &lt;/f:facet&gt;
                    &lt;h:outputText value="#{hsup.reason}" /&gt;
                &lt;/p:column&gt;

                &lt;p:column styleClass="c0"&gt;
                    &lt;f:facet name="header"&gt;
                        &lt;h:outputText value="HALTED SINCE" /&gt;
                    &lt;/f:facet&gt;
                    &lt;h:outputText value="#{hsup.since}"&gt;
                        &lt;f:convertDateTime dateStyle="full" timeZone="GMT+1" type="both"
                            pattern="yyyy-MM-dd HH:mm:ss" /&gt;
                    &lt;/h:outputText&gt;
                &lt;/p:column&gt;

            &lt;/p:dataTable&gt;
        &lt;/p:panel&gt;

    &lt;/h:form&gt;
</code></pre>

<p>The Bean that contain listener methods:
                @ManagedBean(name = "hsBean")
                @RequestScoped
                public class HaltedSiteBean {</p>

<pre><code>                @EJB
                HaltedSiteEJB hslistejb;
                // Variables
                private List&lt;Haltedsite&gt; hslist = new ArrayList&lt;Haltedsite&gt;();
                private List&lt;Haltedsitesummary&gt; hssumlist;
                private List&lt;Haltedsitelog&gt; hcelllist;
                private Integer hscount;
                //This variable is used to hold selected halted site
                private Haltedsite selectedhst = new Haltedsite();

                public HaltedSiteBean() {
                    // TODO Auto-generated constructor stub
                }


                public Haltedsite getSelectedhst() {
                    return selectedhst;
                }


                public void setSelectedhst(Haltedsite selectedhst) {
                    this.selectedhst = selectedhst;
                }



                public List&lt;Haltedsite&gt; getHslist() {
                    hslist = hslistejb.getHslist();
                    return hslist;
                }

                public void setHslist(List&lt;Haltedsite&gt; hslist) {
                    this.hslist = hslist;
                }

                public List&lt;Haltedsitesummary&gt; getHssumlist() {
                    hssumlist = hslistejb.getHssumlist();
                    return hssumlist;
                }

                public void setHssumlist(List&lt;Haltedsitesummary&gt; hssumlist) {
                    this.hssumlist = hssumlist;
                }

                public List&lt;Haltedsitelog&gt; getHcelllist() {
                    hcelllist = hslistejb.getHcelllist();
                    return hcelllist;
                }

                public void setHcelllist(List&lt;Haltedsitelog&gt; hcelllist) {
                    this.hcelllist = hcelllist;
                }

                public Integer getHscount() {
                    hscount = hslistejb.getHscount();
                    return hscount;
                }

                public void setHscount(Integer hscount) {
                    this.hscount = hscount;
                }

                public String reinit() {
                    selectedhst = new Haltedsite();
                    return null;
                }

                public String updateDetail(){
                    System.out.println("Hello ====== "+selectedhst.getId());
                    hslistejb.updateDetail(selectedhst);
                    return null;

                }

            }
</code></pre>

<p>Thank you in advance.</p>
