e ai pessoal beleza
finalmente fiz o Wizard do PrimeFaces funcionar porém com uma tabela de um banco de dados
como eu faço com mais de uma tabela tipo assim
quando clicar em próximo eu gostaria que já salva-se no banco tem como?
Wizard com duas tabelas
3 Respostas
Boa tarde!
Poderia postar o código para poder te ajudar?
é um Wizard da PrimeFaces normal
eu uso JPA para a persistência essa é uma tabela unica
e a tela fica assim:
<h:form>
<p:wizard widgetVar="wiz" nextLabel="Próximo" backLabel="Anterior" >
<p:tab id="personal" title="Cliente">
<p:panel header="Dados Pesoais">
<h:panelGrid columns="2" columnClasses="label, value" styleClass="grid">
<h:outputLabel value="#{bundle.CreateClienteLabel_nome}" for="nome" />
<h:inputText id="nome" value="#{clienteController.selected.nome}" title="#{bundle.CreateClienteTitle_nome}" />
<h:outputLabel value="#{bundle.CreateClienteLabel_apelido}" for="apelido" />
<h:inputText id="apelido" value="#{clienteController.selected.apelido}" title="#{bundle.CreateClienteTitle_apelido}" />
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab id="address" title="Dados Postais">
<p:panel header="Endereço">
<h:panelGrid columns="2" columnClasses="label, value">
<h:outputLabel value="#{bundle.CreateClienteLabel_rua}" for="rua" />
<h:inputText id="rua" value="#{clienteController.selected.rua}" title="#{bundle.CreateClienteTitle_rua}" />
<h:outputLabel value="#{bundle.CreateClienteLabel_cep}" for="cep" />
<h:inputText id="cep" value="#{clienteController.selected.cep}" title="#{bundle.CreateClienteTitle_cep}" />
<h:outputLabel value="#{bundle.CreateClienteLabel_cidade}" for="cidade" />
<h:inputText id="cidade" value="#{clienteController.selected.cidade}" title="#{bundle.CreateClienteTitle_cidade}" />
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab id="contact" title="Contato">
<p:panel header="Informações de Contato">
<h:messages errorClass="error"/>
<h:panelGrid columns="2" columnClasses="label, value">
<h:outputLabel value="#{bundle.CreateClienteLabel_email}" for="email" />
<h:inputText id="email" value="#{clienteController.selected.email}" title="#{bundle.CreateClienteTitle_email}" />
<h:outputLabel value="#{bundle.CreateClienteLabel_telefone}" for="telefone" />
<h:inputText id="telefone" value="#{clienteController.selected.telefone}" title="#{bundle.CreateClienteTitle_telefone}" />
<h:outputLabel value="#{bundle.CreateClienteLabel_comentario}" for="comentario" />
<h:inputText id="comentario" value="#{clienteController.selected.comentario}" title="#{bundle.CreateClienteTitle_comentario}" />
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab id="confirm" title="Fim">
<p:panel header="Confirmation">
<p:growl id="growl" sticky="true" showDetail="true"/>
<h:panelGrid id="confirmation" columns="6">
<h:outputText value="#{bundle.ViewClienteLabel_nome}"/>
<h:outputText value="#{clienteController.selected.nome}" title="#{bundle.ViewClienteTitle_nome}"/>
<h:outputText value="#{bundle.ViewClienteLabel_apelido}"/>
<h:outputText value="#{clienteController.selected.apelido}" title="#{bundle.ViewClienteTitle_apelido}"/>
<h:outputText value="#{bundle.ViewClienteLabel_rua}"/>
<h:outputText value="#{clienteController.selected.rua}" title="#{bundle.ViewClienteTitle_rua}"/>
<h:outputText value="#{bundle.ViewClienteLabel_cep}"/>
<h:outputText value="#{clienteController.selected.cep}" title="#{bundle.ViewClienteTitle_cep}"/>
<h:outputText value="#{bundle.ViewClienteLabel_cidade}"/>
<h:outputText value="#{clienteController.selected.cidade}" title="#{bundle.ViewClienteTitle_cidade}"/>
<h:outputText value="#{bundle.ViewClienteLabel_email}"/>
<h:outputText value="#{clienteController.selected.email}" title="#{bundle.ViewClienteTitle_email}"/>
<h:outputText value="#{bundle.ViewClienteLabel_telefone}"/>
<h:outputText value="#{clienteController.selected.telefone}" title="#{bundle.ViewClienteTitle_telefone}"/>
<h:outputText value="#{bundle.ViewClienteLabel_comentario}"/>
<h:outputText value="#{clienteController.selected.comentario}" title="#{bundle.ViewClienteTitle_comentario}"/>
<h:outputText />
<h:outputText />
</h:panelGrid>
<p:commandButton action="#{clienteController.create}" value="#{bundle.CreateClienteSaveLink}" />
</p:panel>
</p:tab>
</p:wizard>
</h:form>
</h:body>
mas e com duas
ou o Wizard só funciona com uma tabela
e tipo assim se na hora de clicar em próximo se ele salvar tem como?
veleu
Olá!
Amigo, para capturar o evento do botão “próximo” vc tem que setar a propriedade flowListener do p:wizard para algum método do seu ManagedBean:
flowListener="#{meuBean.eventoProsseguir}"
Ai nesse método (no caso, eventoProsseguir) do bean, vc pode persistir os dados de sua tabela:
public String eventoProsseguir(FlowEvent event)
{
if (event.getNewStep().equals("personal"))
{
//Codigo para persistir os dados...
}
return event.getNewStep();
}
Até +!
Criado 12 de dezembro de 2011
Ultima resposta 12 de dez. de 2011
Respostas 3
Participantes 3
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Desmistificando WebAssembly: Alta performance,... Por Raphael Amorim — Casa do Codigo