PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Problema com paginação a no componente dataTable do primefaces #500554

08/11/2014

0

Olá pessoal, gostaria de uma ajuda com a paginação do meu dataTable! Eu tenho uma pagina xhtml que lista todo os simulados do curso a qual o usuario escolheu, onde o usuario pode filtrar ele pelo o status do simulado(caso o usuario queira listar os simulados Ativos,Inativos ou pendentes) são 2 SelectOneMenu, 1 que lista os cursos e outro os status, logo após possue um commandButton para confirmar e listar logo abaixo(no dataTable) o resultado.

Os resultados estão aparecendo perfeitamente, mas o problema é que a paginação do componente não está funcionando, nenhuma das opções.

Ao clicar no commandButton eu coloco os atributos process="@form" update=":formSimulados" para que ele atualize o form que contem o dataTable com o simulado, ele atualiza certinho, mas a paginação não funciona!

O que pode ser?

Meuu XHTML:
<div class="panel panel-default">
    <div class="panel-heading">
        Escolha o curso
    </div>
    <div class="panel-body">
        <div class="panel-body" style="padding-left: 0px;">
            <h:outputText value="Você não está coordenando nenhum curso!" rendered="#{empty controleCursoBean.listarCursosCoordenador(usuarioSession.id)}" />
            <h:form class="form-inline" id="formOpcoes">
                <div class="form-group">
                    <h4>Curso:</h4>
                    <h:selectOneMenu class="form-control" value="#{controleCursoBean.curso.id}" id="listaCursos" style="width: 300px;" rendered="#{not empty controleCursoBean.listarCursosCoordenador(usuarioSession.id)}">
                        <f:selectItem itemValue="#" itemLabel="Todos" />
                        <f:selectItems var="cursosCoordenador" value="#{controleCursoBean.listarCursosCoordenador(usuarioSession.id)}" itemValue="#{cursosCoordenador.id}" itemLabel="#{cursosCoordenador.descricao}" rendered="#{not empty controleCursoBean.listaCursosCoordenador}" />
                    </h:selectOneMenu> 



                </div>
                <div class="form-group">
                    <h4>Status:</h4>
                    <h:selectOneMenu class="form-control" id="nivelQuestao" value="#{controleSimuladoBean.status.valor}">
                        <f:selectItem itemValue="0" itemLabel="Todos" />
                        <f:selectItem itemValue="1" itemLabel="Ativo" />
                        <f:selectItem itemValue="2" itemLabel="Inativo" />
                        <f:selectItem itemValue="3" itemLabel="Pendente" />
                    </h:selectOneMenu> 



                    <p:commandButton styleClass="btn btn-primary" id="btnConfirmar" value="Confirmar" action="#{controleSimuladoBean.listarSimuladosDoCursoEscolhido(
                                                                  controleCursoBean.curso,
                                                                  controleSimuladoBean.status)}" process="@form" update=":formSimulados"></p:commandButton>
                </div>
            </h:form>
        </div>
    </div>
</div>
<div class="panel panel-default">
    <div class="panel-heading">
        Simulados
    </div>
    <div class="panel-body">
        <div class="table-responsive">
            <h:form id="formSimulados">
                <h:outputText value="Deve-se escolher o curso a qual deseja exibir os simulados!" rendered="#{empty controleCursoBean.listarCursosCoordenador(usuarioSession.id)}" />
                <h:outputText value="Ainda não foi gerado simulados para o curso escolhido." rendered="#{controleSimuladoBean.simuladosCursoEscolhido.size() == 0
                                                                          and not empty controleCursoBean.listarCursosCoordenador(usuarioSession.id)}" />
                <p:dataTable id="dataTableSimulados" value="#{controleSimuladoBean.simuladosCursoEscolhido}" rendered="#{controleSimuladoBean.simuladosCursoEscolhido.size() > 0}" var="simulados" paginator="true" rows="2" paginatorTemplate="
                                                              
                                                               
                                                               
                                                             " paginatorPosition="bottom" rowsPerPageTemplate="5,10,15">
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Código" />
                        </f:facet>
                        <h:outputText value="#{simulados.id}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Curso" />
                        </f:facet>
                        <h:outputText value="#{simulados.curso.descricao}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Total de questões" />
                        </f:facet>
                        <h:outputText value="#{simulados.qtdQuestoes}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Criado por" />
                        </f:facet>
                        <h:outputText value="#{simulados.usuario.nome}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Criado em" />
                        </f:facet>
                        <h:outputText value="#{simulados.dataCriacao}" />
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Opções" />
                        </f:facet>
                        <a id="linkid" onclick="alert(#{simulados.id})">Link</a>
                    </p:column>
                </p:dataTable>
            </h:form>
        </div>


Meu Bean:
@ManagedBean(name = "controleSimuladoBean")
@ViewScoped
public class ControleSimuladoBean implements Serializable {

    private FacadeSimulado facadeSimulado;
    private FacadeQuestao facadeQuestao;

    private Simulado simulado;
    private Simulado simuladoSelecionado;
    private Curso curso;
    private Disciplina disciplina;
    private Status status;

    private List<Simulado> simuladosCursoEscolhido;

    private Long idUrlParametro;
    private int quantidade;

    @PostConstruct
    private void init() {
        facadeSimulado = new FacadeSimulado();
        facadeQuestao = new FacadeQuestao();

        simulado = new Simulado();
        simuladoSelecionado = new Simulado();

        disciplina = new Disciplina();
        curso = new Curso();

        status = new Status();

        simuladosCursoEscolhido = new ArrayList();
    }

    public Simulado getSimulado() {
        return simulado;
    }

    public void setSimulado(Simulado simulado) {
        this.simulado = simulado;
    }

    public Simulado getSimuladoSelecionado() {
        return simuladoSelecionado;
    }

    public void setSimuladoSelecionado(Simulado simuladoSelecionado) {
        this.simuladoSelecionado = simuladoSelecionado;
    }


    public Disciplina getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(Disciplina disciplina) {
        this.disciplina = disciplina;
    }

    public Curso getCurso() {
        return curso;
    }

    public void setCurso(Curso curso) {
        this.curso = curso;
    }



    public Status getStatus() {
        return status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }

    public List<Simulado> getSimuladosCursoEscolhido() {
        return simuladosCursoEscolhido;
    }

    public void setSimuladosCursoEscolhido(List<Simulado> simuladosCursoEscolhido) {
        this.simuladosCursoEscolhido = simuladosCursoEscolhido;
    }

    public Long getIdUrlParametro() {
        return idUrlParametro;
    }

    public void setIdUrlParametro(Long idUrlParametro) {
        this.idUrlParametro = idUrlParametro;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public void gerarSimulado(Curso curso, Usuario usuario) {
        facadeSimulado.gerarSimulado(curso, usuario);
    }

    public void listarSimuladosDoCursoEscolhido(Curso curso, Status status) {
       this.simuladosCursoEscolhido = facadeSimulado.listarSimuladosDoCurso(curso, status);
    }

}
Thyago Henrique

Thyago Henrique

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar