0 Replies Latest reply on Feb 12, 2008 4:51 AM by Thiagu Mariappan

    selectBooleanCheckbox  within dataTable is deselected across

    Thiagu Mariappan Novice

      i need check box component within each dataTale rows.
      I need to display what are all the rows to be selected at the time of show Rows command button clicked
      This is my xhtml sample code

      <a4j:form id="form" reRender="table-body" ajaxSubmit="true" ignoreDupResponses="true" requestDelay="500">
      <a4j:region id="stat1">
      <a4j:outputPanel id="table-body">
      <rich:dataTable id="prodList" rows="10" value="#{productlist}" var="product">
       <f:facet name="header">
       <rich:columnGroup>
       <h:column>
       <h:outputText value="Select" />
       </h:column>
       <h:column>
       <h:outputText value="Model" />
       </h:column>
      </rich:columnGroup>
       </f:facet>
       <h:column>
       <h:selectBooleanCheckbox value="#{searchSelections[product]}"/>
       </h:column>
       <h:column>
       <h:outputText value="#{product.productName}" />
       </h:column>
      </rich:dataTable>
      <rich:datascroller for="prodList" maxPages="10" />
      <h:commandButton value="Show Rows" action="#{productsearch.showRows}"/>
      </a4j:outputPanel>
      </a4j:region>
      </a4j:form>
      
      

      This is my session bean class code
      @Stateful
      @Name("productsearch")
      public class ProductsAction implements ProductsLocal,Serializable
      {
      
       @PersistenceContext
       EntityManager em;
      
       @Out(scope=ScopeType.CONVERSATION,required=false)
       Map<TblProducts, Boolean> searchSelections;
      
       @Out(required=false)
       static List<TblProducts> productlist;
      
      @Begin(join=true)
       public String init() {
      productlist =em.createQuery("select t from TblProducts t").getResultList();
      searchSelections=new HashMap<TblProducts, Boolean> ()
      }
      
       public String showRows() {
      for (TblProducts item: productlist)
      {
      
       Boolean selected = searchSelections.get(item);
       if (selected!=null && selected)
       System.out.println("Selected row is :"+ item.getProductName());
      
      }
      }
      }
      

      this code is workes fine within the single page,
      selectBooleanCheckbox is deselected if I try use datascroller
      How to resolve this problem

      by
      Thiagu.m