title: selectBooleanCheckBox in datatable header not calling actionListener
body: <p>I have a datatable with three columns and a checkboxes in the header of each column. When I select one checkbox, I have to update the other 2 check boxes. Each row under these columns is an input box with a validator. When I submit the form, I can see the validators executing but my actionListener is not invoked. There is no stack trace as well. Please suggest.</p>
  
  <pre><code>    &lt;p:dataTable id="segmentRangeTable" var="rank"
      value="#{segmentSetup.ranks}"&gt;
  
      &lt;p:column headerText="Segment Names"&gt;
          &lt;p:outputPanel layout="block"&gt;
              &lt;p:inputText id="segmentName" style="text-transform:uppercase"
                  value="#{segmentSetup.userSegment.segmentNames[rank].name}"
                  validator="#{segmentSetup.validateNames}" immediate="true" /&gt;
              &lt;p:message for="segmentName" /&gt;
          &lt;/p:outputPanel&gt;
      &lt;/p:column&gt;
  
      &lt;p:column&gt;
          &lt;f:facet name="header"&gt;
              &lt;p:outputPanel layout="block"&gt;
                  &lt;p:outputLabel value="AUM" /&gt;
                  &lt;br /&gt;
  
                  &lt;p:outputPanel id="AUMcheckBox"&gt;
                      &lt;p:selectBooleanCheckbox itemLabel="Default Rating" 
                          styleClass="defaultRating"
                          value="#{segmentSetup.defaultRating eq 'AUM' ? true : false}"
                          disabled="#{!segmentSetup.userSegmentTypesMap['AUM'].selected}" &gt;
                          &lt;p:ajax update=":tabView:clientSegmentationTabForm:segmentRangeTable:REREVcheckBox :tabView:clientSegmentationTabForm:segmentRangeTable:REVcheckBox :tabView:clientSegmentationTabForm:segmentRangeTable:AUMcheckBox" process="@this" immediate="true"
                              listener="#{segmentSetup.changeDefaultRating('AUM')}" /&gt;
                      &lt;/p:selectBooleanCheckbox&gt;
  
                  &lt;/p:outputPanel&gt;
  
              &lt;/p:outputPanel&gt;
          &lt;/f:facet&gt;
          &lt;p:inputText id="AUM" styleClass="AUM"
              value="#{segmentSetup.userSegmentTypesMap['AUM'].segmentValues[rank].rangeMinValue}"
              disabled="#{!segmentSetup.userSegmentTypesMap['AUM'].selected || (rank==fn:length(segmentSetup.ranks))}"
              validator="#{segmentSetup.validateRanges}" immediate="true" &gt;
              &lt;f:convertNumber maxFractionDigits="2" currencySymbol="$"
                  type="currency" minFractionDigits="0" /&gt;
          &lt;/p:inputText&gt;
          &lt;p:message for="AUM" /&gt;
      &lt;/p:column&gt;
  
      &lt;p:column&gt;
          &lt;f:facet name="header"&gt;
              &lt;p:outputPanel&gt;
                  &lt;p:outputLabel value="GROSS REVENUE" /&gt;
                  &lt;br /&gt;
                  &lt;p:outputPanel id="REVcheckBox"&gt;
                      &lt;p:selectBooleanCheckbox itemLabel="Default Rating" 
                          styleClass="defaultRating"
                          value="#{segmentSetup.defaultRating eq 'GRRVN' ? true : false}"
                          disabled="#{!segmentSetup.userSegmentTypesMap['GRRVN'].selected}"&gt;
                          &lt;p:ajax update=":tabView:clientSegmentationTabForm:segmentRangeTable:REREVcheckBox :tabView:clientSegmentationTabForm:segmentRangeTable:REVcheckBox :tabView:clientSegmentationTabForm:segmentRangeTable:AUMcheckBox" immediate="true"
                              listener="#{segmentSetup.changeDefaultRating('GRRVN')}"&gt;
                          &lt;/p:ajax&gt;
                      &lt;/p:selectBooleanCheckbox&gt;
                  &lt;/p:outputPanel&gt;
              &lt;/p:outputPanel&gt;
          &lt;/f:facet&gt;
          &lt;p:outputPanel&gt;
              &lt;p:inputText id="GRRVN" styleClass="GRRVN"
                  value="#{segmentSetup.userSegmentTypesMap['GRRVN'].segmentValues[rank].rangeMinValue}"
                  disabled="#{!segmentSetup.userSegmentTypesMap['GRRVN'].selected  || (rank==fn:length(segmentSetup.ranks)) }"
                  validator="#{segmentSetup.validateRanges}" immediate="true" &gt;
                  &lt;f:convertNumber maxFractionDigits="2" currencySymbol="$"
                      type="currency" /&gt;
              &lt;/p:inputText&gt;
              &lt;p:message for="GRRVN" /&gt;
          &lt;/p:outputPanel&gt;
      &lt;/p:column&gt;
  
      &lt;p:column&gt;
          &lt;f:facet name="header"&gt;
              &lt;p:outputPanel&gt;
                  &lt;p:outputLabel value="REC REVENUE" /&gt;
  
                  &lt;br /&gt;
                  &lt;p:outputPanel id="REREVcheckBox"&gt;
                      &lt;p:selectBooleanCheckbox itemLabel="Default Rating" 
                          styleClass="defaultRating"
                          value="#{segmentSetup.defaultRating eq 'RERVN' ? true : false}"
                          disabled="#{!segmentSetup.userSegmentTypesMap['RERVN'].selected}"&gt;
                          &lt;p:ajax update=":tabView:clientSegmentationTabForm:segmentRangeTable:REREVcheckBox :tabView:clientSegmentationTabForm:segmentRangeTable:REVcheckBox :tabView:clientSegmentationTabForm:segmentRangeTable:AUMcheckBox" immediate="true"
                              listener="#{segmentSetup.changeDefaultRating('RERVN')}"&gt;
                          &lt;/p:ajax&gt;
                      &lt;/p:selectBooleanCheckbox&gt;
                  &lt;/p:outputPanel&gt;
  
              &lt;/p:outputPanel&gt;
          &lt;/f:facet&gt;
  
          &lt;p:inputText id="RERVN" styleClass="RERVN"
              value="#{segmentSetup.userSegmentTypesMap['RERVN'].segmentValues[rank].rangeMinValue}"
              disabled="#{!segmentSetup.userSegmentTypesMap['RERVN'].selected  || (rank==fn:length(segmentSetup.ranks)) }"
              validator="#{segmentSetup.validateRanges}" &gt;
              &lt;f:convertNumber maxFractionDigits="2" minFractionDigits="0"
                  currencySymbol="$" type="currency" /&gt;
          &lt;/p:inputText&gt;
  
          &lt;p:message for="RERVN" /&gt;
      &lt;/p:column&gt;
  
  &lt;/p:dataTable&gt;
  
  &lt;p:outputPanel layout="block" styleClass="blx-align-rl"&gt;
      &lt;p:commandButton id="saveButton" value="Save" process="@form"
          update="@form" actionListener="#{segmentSetup.save}" &gt;
          &lt;f:param name="VALIDATE" value="true" /&gt;
          &lt;/p:commandButton&gt;
      &lt;p:commandButton id="cancelButton" value="Cancel" update="@form"
          actionListener="#{segmentSetup.reset}" immediate="true" /&gt;
  &lt;/p:outputPanel&gt;
  </code></pre>