Problema com paginação a no componente dataTable do primefaces
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:
Meu Bean:
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
Curtidas 0