[RESOLVIDO]dataTable nao carrega


    private List<Cadprest> itenscadastroprest;




    @Override
    public void iniciarView() {
        carregagridcadprest();
    }




   public void carregagridcadprest(){
       itenscadastroprest = new ArrayList<Cadprest>(); 
       
        List<Object> objectListcadprest = cadprestservico.buscacadastroprestador();
        List<SelectItem> itenscadastroprest = new ArrayList<SelectItem>(objectListcadprest.size());
        Iterator iteratorcad = objectListcadprest.iterator();
        
        while (iteratorcad.hasNext()) {
            Object[] obj = (Object[]) iteratorcad.next();        
            Integer vcodprest = (Integer) obj[0];
            itenscadastroprest.add(new SelectItem(vcodprest, (String) obj[1]));            
        }
   }

view


                        <p:dataTable   id="tabelacadprest" value="#{cadguiaMbean.itenscadastroprest}" var="itenscadastroprest" paginator="true" rows="10" paginatorPosition="bottom" 
                           paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"                               
                           currentPageReportTemplate="Ver {startRecord} - {endRecord} de {totalRecords} - Página: {currentPage}/{totalPages}"            
                           rowsPerPageTemplate="5,10,20" selectionMode="single"
                                       >  
                            <p:column headerText="Codigo" >  
                                <h:outputText value="#{itenscadastroprest.codprest}"/>  
                            </p:column>  

                            <p:column headerText="Nome" width="50">  
                                <h:outputText />  
                            </p:column>  

                        </p:dataTable>  

Nao esta preenchendo o meu datatable

alguem pode me ajudar ???

Está fazendo errado!

Não vejo você retornar nada!

new SelectItem ?

Fiz dessa forma :

*************************bean
    public List<Cadprest> carregacadastroprestador() {
        
        
        return  cadprestservico.buscacadprest();
                
    }

**************************

                        <p:dataTable   id="tabelacadprestnovo" value="#{cadguiaMbean.carregacadastroprestador()}" var="cadprest" paginator="true" rows="10" paginatorPosition="bottom" 
                           paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"                               
                           currentPageReportTemplate="Ver {startRecord} - {endRecord} de {totalRecords} - Página: {currentPage}/{totalPages}"            
                           rowsPerPageTemplate="5,10,20" selectionMode="single"
                                       >  
                            <p:column headerText="Codigo" >  
                                <h:outputText value="#{cadprest.nomeprest}"/>  
                            </p:column>  

                            <p:column headerText="Nome" width="50">  
                                <h:outputText />  
                            </p:column>  

                        </p:dataTable>  

mas esta dando o seguinte erro :

DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled.

Olá Evandro!

Acho legal você postar suas dúvidas tal mas, primeiramente, faça uma busca da sua necessidade porque quase sempre existem pessoas que tiveram a mesma dúvida que você e já postaram tal. #FicaDica :slight_smile:

Dá uma lida nesse post pra ver se te ajuda:
http://www.guj.com.br/java/262044-datamodel-must-implement-orgprimefacesmodelselectabledatamodel-when-selection-is-enabled

Espero ter ajudado. Abraço!

vlw pela dica, mas ja tinha pesquisado e ja tinha feito isso …mas obrigado pela diga ,…

resolvi dessa forma :

    public List<Cadprest> getCadastropretador() {
        return cadprestservico.buscacadprest();
    }
**************************

                        <p:dataTable value="#{cadguiaMbean.cadastropretador}" var="cadastropretador" >
                            
                            <p:column headerText="Codigo" >  
                                <h:outputText value="#{cadastropretador.codprest}"/>  
                            </p:column>  

                            <p:column headerText="Nome" >  
                                <h:outputText value="#{cadastropretador.nomeprest}"/>  
                            </p:column>  
                            
			</p:dataTable>