1 2 Previous Next 19 Replies Latest reply on Sep 9, 2009 11:35 AM by seamkaruna Go to original post
      • 15. Re: how to use selectmanycheckbox
        seamkaruna

        yes jaime send me some code now....

        • 16. Re: how to use selectmanycheckbox

          hi,
          here you have an example:


          package es.rbcdexiais.boleta.converters;
          
          import javax.faces.component.UIComponent;
          import javax.faces.context.FacesContext;
          import javax.faces.convert.Converter;
          import javax.persistence.EntityManager;
          import javax.persistence.Query;
          
          import org.jboss.seam.Component;
          
          import es.rbcdexiais.boleta.entity.OrderType;
          
          
          public class OrderTypeConverter implements Converter {
             
             EntityManager em;
          
              public Object getAsObject(FacesContext facesContext, UIComponent
                      component,
                      String string)  {
          
                  if (string == null) {
                      return null;
                  }
          
                  EntityManager em= (EntityManager)Component.getInstance("entityManager");  
                  OrderType orderType=null;
                  try{
                      Query query = em.createQuery("select orderType From OrderType orderType where orderType.typeCode=:typeCode");
                      query.setParameter("typeCode", string);
                      orderType = (OrderType)query.getSingleResult();
                  }catch(Exception e)
                  {
                       e.printStackTrace();
                  }
                  return orderType;
              }
             
              public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
                  String ret = "";
                  if ((arg2 != null) && (arg2 instanceof OrderType)) {
                      ret =  ((OrderType)arg2).getTypeCode() +"";
                  }
                  return ret;
                  
              }
           }
          
          


          In my case typeCode is the primary key of OrderType.
          good luck!

          • 17. Re: how to use selectmanycheckbox

            I forgot to explain that in a converter you always must implement these two methods:
            -getAsObject
            -getAsString


            This is because you are implementing Converter interface.
            In this link you may find converter API for more information about converters.


            • 18. Re: how to use selectmanycheckbox

              hi karunakaran, did it work?

              • 19. Re: how to use selectmanycheckbox
                seamkaruna
                hi Jaime,

                i had successfully reterived and displayed database values in my page but when i select the check box and try to store it in table it show converter error! and here is the code to display and store values through selectmanycheckbox plz go thro' it and correct my mistake.

                xhtml
                -----


                <h:selectManyCheckbox value="#{accessrightsHome.instance.id.accessrights}">
                                  <f:selectItems value="#{rightstbList.rights}"/>
                             </h:selectManyCheckbox>


                BackingBean
                -----------

                public List<Rightstb> getParameter() {

                          String ejb = EJBQL;
                          System.out.println("in getParameter:"
                                    + getEntityManager().createQuery(ejb).getResultList());
                          return getEntityManager().createQuery(ejb).getResultList();

                     }

                     public Map<String, String> getRights() {

                          Map<String, String> results = new HashMap<String, String>();

                          for (Rightstb obj : this.getParameter())

                               results.put(obj.getRights(), obj.getRights());

                          return results;

                     }

                Error
                -----

                15:03:32,734 INFO  [lifecycle] WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
                sourceId=accessrights:j_id67[severity=(ERROR 2), summary=(Conversion Error setting value 'UnLoad Page Load Page' for '#{accessrightsHome.instance.id.accessrights}'.), detail=(Conversion Error setting value 'UnLoad Page Load Page' for '#{accessrightsHome.instance.id.accessrights}'.)]
                1 2 Previous Next