0 Replies Latest reply on Mar 6, 2006 3:34 PM by ido_tamir

    af:table binding and

    ido_tamir

      Hi,
      i am trying to use an af:table with multiple selection. For this I need access to the underlying table.

      When I bind the af:table with binding="#{sampleSelectFlow.organTable}" to my bean via property getter and setter I get an exception if the Scope is not EVENT.

      How do I do this correctly? I tried also @In(required=false) @Out(required=false) but then I got an NPE when trying to access the table (seems like they were not injected)

      thank you very much for your answers
      ido

      my bean looks like this:

      @Stateful
      @Name("sampleSelectFlow")
      @Scope(ScopeType.CONVERSATION)
      @Interceptors(SeamInterceptor.class)
      @Conversational(ifNotBegunOutcome="end")
      public class SampleSelectFlow implements SampleSelect {
       UIXTable organTable;
      
       @DataModel
       private List<Organ> organList;
       @DataModelSelection(value="organList")
       private Organ organ;
      
       @PersistenceContext
       private EntityManager em;
      
       @Begin(join=true)
       @Factory("organList")
       public void loadOrganList(){
       organList = em....
       }
      
       public void filterOrgan(){
       //dosomething:
       organTable.getSelectionState().getKeySet();
       .....
       }
      
       @Destroy @Remove
       public void remove() {}
      
       public UIXTable getOrganTable() {
       return organTable;
       }
      
       public void setOrganTable(UIXTable organTable) {
       this.organTable = organTable;
       }
      }
      

      <af:form>
       <af:table binding="#{sampleSelectFlow.organTable}" emptyText="nothing there" var="organ" value="#{organList}">
       <f:facet name="selection">
       <af:tableSelectMany text="Filter Sample">
       <af:commandButton text="Filter" action="#{sampleSelectFlow.filterOrgan}">
       <!--f:param name="conversationId" value="new"/-->
       </af:commandButton>
       </af:tableSelectMany>
       </f:facet>
       <af:column headerText="Organ" sortProperty="organname" sortable="false">
       <af:outputText value="#{organ.organname}" />
       </af:column>
       </af:table>
      </af:form>