Boa tarde galera, tudo certo ? Bem, no meu xhtml tenho 3 dataTables. Estou querendo otimizar a tela em si utilizando o componente Wizard para que na primeira parte fique a primeira datatable que eu tenho e na segunda fique as outras duas. Alguém poderia ajudar dando alguma idéia pra começar a otimizar a tela apartir dessa tela que eu tenho?? Se alguém puder ajudar, agradeço mto.Vlw Abaixo o xhtml;
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:treap="http://java.sun.com/jsf/composite/treap"
xmlns:p="http://primefaces.org/ui">
<body>
<ui:composition template="./default_layout_with_menu.xhtml">
<ui:define name="titulo-pagina">
Rematrícula Automática
</ui:define>
<ui:define name="content">
<treap:ajaxStatus/>
<p:growl id="growl2" life="4000"/>
<p:focus for="escola"/>
<p:panel id="dados" header="Dados Principais" >
<h:panelGrid columns="3" width="100%">
<h:panelGrid columns="2">
<p:outputLabel id="ano_label" value="Ano Atual:" for="ano"/>
<h:outputText id="ano" value="#{matriculaJsfBean.ano}"/>
<p:outputLabel id="escola_label" value="Escola Atual:" for="escola"/>
<p:selectOneMenu id="escola" value="#{matriculaJsfBean.escolaRematricula}" filter="true" required="true" requiredMessage="Selecione a Escola." caseSensitive="false" filterMatchMode="contains">
<f:selectItem itemLabel="Selecione" itemValue="#{null}"/>
<f:selectItems value="#{matriculaJsfBean.escolaList}" var="e" itemLabel="#{e.codigo} - #{e.nome}" itemValue="#{e.codigo}"/>
<p:ajax update="turma novaTurmaA novaTurmaR" event="change" listener="#{matriculaJsfBean.atualizarTurmaPorEscolaSemSessao(event)}"/>
</p:selectOneMenu>
<p:outputLabel id="turma_label" value="Turma Atual:" for="turma"/>
<p:selectOneMenu id="turma" converter="sec" value="#{matriculaJsfBean.turma}" filter="true" required="true" requiredMessage="Selecione a Turma." caseSensitive="false" filterMatchMode="contains">
<f:selectItem itemLabel="Selecione" itemValue="#{null}"/>
<f:selectItems value="#{matriculaJsfBean.turmaList}" var="t" itemLabel="#{t.codigo} - #{t.descricao}" itemValue="#{t}"/>
</p:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel id="proximoAnoA_label" value="Próximo Ano:" for="proximoAnoA"/>
<h:outputText id="proximoAnoA" value="#{matriculaJsfBean.proximoAno}"/>
<p:outputLabel id="novaTurmaA_label" value="Nova Turma Aprovados:" for="novaTurmaA"/>
<p:selectOneMenu id="novaTurmaA" converter="sec" value="#{matriculaJsfBean.novaTurma}" filter="true" required="true" requiredMessage="Selecione a Turma Destino." caseSensitive="false" filterMatchMode="contains">
<f:selectItem itemLabel="Selecione" itemValue="#{null}"/>
<f:selectItems value="#{matriculaJsfBean.turmaListDestino}" var="t" itemLabel="#{t.ano} - #{t.descricao}" itemValue="#{t}"/>
</p:selectOneMenu>
<p:outputLabel id="vagasDisponiveisA_label" value="Vagas Disponíveis:" for="vagasDisponiveisA"/>
<h:outputText id="vagasDisponiveisA" value="#{matriculaJsfBean.vagasDisponiveisAprovados}"/>
<p:outputLabel id="vagasOcupadasA_label" value="Vagas Ocupadas:" for="vagasOcupadasA"/>
<h:outputText id="vagasOcupadasA" value="#{matriculaJsfBean.vagasOcupadasAprovados}"/>
<p:outputLabel id="vagasTotaisA_label" value="Vagas Totais:" for="vagasTotaisA"/>
<h:outputText id="vagasTotaisA" value="#{matriculaJsfBean.vagasTotaisTurmaAprovados}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:outputLabel id="proximoAnoR_label" value="Próximo Ano:" for="proximoAnoR"/>
<h:outputText id="proximoAnoR" value="#{matriculaJsfBean.proximoAno}"/>
<p:outputLabel id="novaTurmaR_label" value="Nova Turma Reprovados:" for="novaTurmaR"/>
<p:selectOneMenu id="novaTurmaR" converter="sec" value="#{matriculaJsfBean.novaTurmaReprovados}" filter="true" required="true" requiredMessage="Selecione a Turma Destino." caseSensitive="false" filterMatchMode="contains">
<f:selectItem itemLabel="Selecione" itemValue="#{null}"/>
<f:selectItems value="#{matriculaJsfBean.turmaListDestino}" var="tR" itemLabel="#{tR.ano} - #{tR.descricao}" itemValue="#{tR}"/>
</p:selectOneMenu>
<p:outputLabel id="vagasDisponiveisR_label" value="Vagas Disponíveis:" for="vagasDisponiveisR"/>
<h:outputText id="vagasDisponiveisR" value="#{matriculaJsfBean.vagasDisponiveisReprovados}"/>
<p:outputLabel id="vagasOcupadasR_label" value="Vagas Ocupadas:" for="vagasOcupadasR"/>
<h:outputText id="vagasOcupadasR" value="#{matriculaJsfBean.vagasOcupadasReprovados}"/>
<p:outputLabel id="vagasTotaisR_label" value="Vagas Totais:" for="vagasTotaisR"/>
<h:outputText id="vagasTotaisR" value="#{matriculaJsfBean.vagasTotaisTurmaReprovados}"/>
</h:panelGrid>
</h:panelGrid>
<br/>
<p:commandButton id="BtnfiltraMatricula" actionListener="#{matriculaJsfBean.atualizar()}" value="Consultar" update="tabela1 tabela2 tabela3 vagasDisponiveisA @form" process="dados @form" image="search"/>
<p:commandButton action="#{matriculaJsfBean.geraRematricula()}" disabled="#{matriculaJsfBean.desabilitaBtnRematricula}" value="Gerar Rematrícula" update="@form" image="ok"/>
<p:confirmDialog id="confirmDialogA" message="Ultrapassou #{matriculaJsfBean.vagasIndisponiveisTurmaAprovados} das vagas para rematrícula de aprovados. Continuar?" header="Rematrícula Aprovados" severity="alert" widgetVar="vagasTurmaAprovados">
<p:commandButton id="confirmA" value="Sim" update="@form" oncomplete="vagasTurmaAprovados.hide()" actionListener="#{matriculaJsfBean.rematAlunos_A_R_novaTurma()}" image="ok"/>
<p:commandButton id="declineA" value="Cancelar" onclick="vagasTurma.hide();" image="cancel2"/>
</p:confirmDialog>
<p:confirmDialog id="confirmDialogRematricula" message="Rematrículas geradas com sucesso."
header="Informação" severity="alert" widgetVar="rematriculas" closeOnEscape="true">
<p:commandButton id="confirmsdA" value="Sim" update="@form" oncomplete="confirmDialogRematricula.hide()" actionListener="#{matriculaJsfBean.refresh()}" image="ok"/>
</p:confirmDialog>
<p:confirmDialog id="confirmDialogR" message=" Ultrapassou #{matriculaJsfBean.vagasIndisponiveisTurmaReprovados} das vagas para rematrícula de reprovados. Continuar?" header="Rematrícula Reprovados" severity="alert" widgetVar="vagasTurmaReprovados">
<p:commandButton id="confirmR" value="Sim" update="@form" oncomplete="vagasTurmaReprovados.hide()" actionListener="#{matriculaJsfBean.rematAlunos_A_R_novaTurma()}" image="ok"/>
<p:commandButton id="declineR" value="Cancelar" onclick="vagasTurma.hide();" image="cancel2"/>
</p:confirmDialog>
<p:confirmDialog id="confirmDialogAR" message="Ultrapassou #{matriculaJsfBean.vagasIndisponiveisTurmaAprovados} das vagas para rematrícula de aprovados e #{matriculaJsfBean.vagasIndisponiveisTurmaReprovados} para rematricula de reprovados. Continuar?" header="Rematrícula" severity="alert" widgetVar="vagasTurmaAprovadoReprovado">
<p:commandButton id="confirmAR3" value="Sim" update="@form" oncomplete="vagasTurmaAprovadoReprovado.hide()" actionListener="#{matriculaJsfBean.rematAlunos_A_R_novaTurma()}" image="ok"/>
<p:commandButton id="declineAR" value="Cancelar" onclick="vagasTurma.hide();" image="cancel2"/>
</p:confirmDialog>
<br/><br/>
<p:dataTable id="tabela1"
value="#{matriculaJsfBean.matriculasListSemLazy}"
var="item"
emptyMessage="Nenhum registro encontrado."
paginator="false"
lazy="false">
<f:facet name="header">
Rematrículas de Alunos Turma : #{matriculaJsfBean.turma.ano} #{matriculaJsfBean.turma}
</f:facet>
<p:column headerText="Código" sortBy="#{item.codigo}" style="width:07%">
<h:outputText value="#{item.codigo}"/>
</p:column>
<p:column headerText="Aluno">
<h:outputText value="#{item.aluno.nome}"/>
</p:column>
<p:column headerText="Situação">
<h:outputText value="#{item.statusCompleto}"/>
</p:column>
</p:dataTable>
<br/>
</p:panel>
<br/><br/>
<p:panel id="panelTabela">
<p:panelGrid columns="2" style="width: 100%">
<p:dataTable id="tabela2"
value="#{matriculaJsfBean.rematriculaAprovados}"
var="item"
emptyMessage="Nenhum registro encontrado."
paginator="true"
rows="10"
pageLinks="5"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink}
{PageLinks} {NextPageLink} {LastPageLink} Exibir: {RowsPerPageDropdown}
Encontrados: #{matriculaJsfBean.rematriculaAprovados.size()}"
rowsPerPageTemplate="10,25,35,50"
lazy="false">
<f:facet name="header">
Matrícula Alunos Aprovados Turma: #{matriculaJsfBean.novaTurma.ano} #{matriculaJsfBean.novaTurma}
</f:facet>
<p:column headerText="Código" sortBy="#{item.codigo}" style="width:07%">
<h:outputText value="#{item.codigo}"/>
</p:column>
<p:column headerText="Aluno">
<h:outputText value="#{item.aluno.nome}"/>
</p:column>
</p:dataTable>
<p:dataTable id="tabela3"
value="#{matriculaJsfBean.rematriculaReprovados}"
var="item"
emptyMessage="Nenhum registro encontrado."
paginator="true"
rows="10"
pageLinks="5"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink}
{PageLinks} {NextPageLink} {LastPageLink} Exibir: {RowsPerPageDropdown}
Encontrados: #{matriculaJsfBean.rematriculaReprovados.size()}"
rowsPerPageTemplate="10,25,35,50"
lazy="false">
<f:facet name="header">
Matrícula Alunos Reprovados Turma: #{matriculaJsfBean.novaTurmaReprovados.ano} #{matriculaJsfBean.novaTurmaReprovados}
</f:facet>
<p:column headerText="Código" sortBy="#{item.codigo}" style="width:07%">
<h:outputText value="#{item.codigo}"/>
</p:column>
<p:column headerText="Aluno">
<h:outputText value="#{item.aluno.nome}"/>
</p:column>
</p:dataTable>
</p:panelGrid>
</p:panel>
</ui:define>
</ui:composition>
</body>
</html>