selectOneMenu carregar a List DataTable

1 resposta
E

Pessoal,

Fiz a rotina e gostaria de acordo o selectOneMenu selecionado carregasse o meu dataTable

Obs. Estou usando Lazy

<p:selectOneMenu value="#{cadguiaMbean.codigodatabela}" style="width: 90px;">
                                         <f:selectItems value="#{cadguiaMbean.itemTab}"/>
                                     </p:selectOneMenu>                  


                                    <p:commandLink immediate="true" process="@form" oncomplete="procedimento.show();" update=":formprincipal:dttableprocedimento11">
                                           <p:graphicImage value="../resources/images/buscar.png"/>
                                      </p:commandLink>



            <p:dialog id="modalprocedimento" header="#{msg.guiaconsultaspsadtsol_consultaprocedimento}" widgetVar="procedimento" modal="true" height="470" width="950" >  

                          <p:dataTable id="lazyDataTableproc" value="#{cadguiaMbean.tabprocList}" var="tabproc" pemptyMessage="Nenhum registro encontrado."   
                                   paginator="true" rows="10"  pageLinks="10"  
                                   paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks}   
                                   {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"  
                                   
                                   rowKey="#{tabproc.tabprocPK.codproc}"
                                   selection="#{cadguiaMbean.tabprocList1}"  
                            
                                     rowsPerPageTemplate="5,10,15,20" lazy="true">
                                        
                              
			     <p:column
                                  id="codproc" filterBy="#{tabproc.tabprocPK.codproc}" 
                                  headerText="codproc" 
                                  filterMatchMode="contains"  style="width:17%">                               
					<f:facet name="header">codproc</f:facet>
                                        <h:outputText value="#{tabproc.tabprocPK.codproc}" />
		              </p:column>
                                        
			     <p:column
                                  id="nome" filterBy="#{tabproc.descricao}" 
                                  headerText="descricao" 
                                  filterMatchMode="contains"  style="width:70%">                               
					<f:facet name="header">descricao</f:facet>
                                        <h:outputText value="#{tabproc.descricao}" />
		              </p:column>
        	     </p:dataTable>         
***********************************bean
@ManagedBean(name="cadguiaMbean")
@ViewScoped
public class CadguiaMb extends ManagedBeanGenerico<Cadguia, CadguiaServico> implements Serializable {
    public void iniciarView() {
          carregargridprocedimentos();
     }





    public void carregargridprocedimentos(){
        
             tabprocList = new LazyDataModel<Tabproc>() { 


 
            @Override              
            
            public List<Tabproc> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {  
                     int paginacao; 
                     paginacao = 0;               
                     String Clausula ="";
                        for(Iterator<String> it = filters.keySet().iterator(); it.hasNext();) {
                            String filterProperty = it.next(); // table column name = field name

                            String filterValue = filters.get(filterProperty);                           
                            
                            
                            Clausula = "where t."+filterProperty+" like'%"+filterValue+"%'";
                            paginacao=1;
                            tabproc = tabprocServico.buscafindTabproc(first, pageSize,Clausula);

                         }                
                
                 if (paginacao==0){
                    tabproc = tabprocServico.buscafindTabproc(first, pageSize,"");
                 }
                 
                  return tabproc;
            }            
             
             
         };
         tabprocList.setRowCount(tabprocServico.buscacountTabprocTotal());  
    }




1 Resposta

E

tentei colocar assim :

<p:selectOneMenu value="#{cadguiaMbean.codigodatabela}" style="width: 90px;">
                                         <f:selectItem itemLabel="Escolher " itemValue="Nenhuma"/> 
                                         <f:selectItems value="#{cadguiaMbean.itemTab}"/>
                                         <f:ajax event="change"  process="@form" update="@form" listener="#{cadguiaMbean.carregargridprocedimentos}"/> 
                                     </p:selectOneMenu>                  
********************************

    public void carregargridprocedimentos(){
        
         String codigodatabela =   getCodigodatabela();

             tabprocList = new LazyDataModel<Tabproc>() { 
*********************
outros metodos
         };

Quando clico no combo ele entra no Bean, mas precisaria que ele entrasse dentro no tabprocList e ele nao esta entrando, pois la vou passar o parametro do codigo da tabela 

Alguem me ajuda ???
Criado 28 de março de 2013
Ultima resposta 28 de mar. de 2013
Respostas 1
Participantes 1