Fórum Carregar dados em uma tela com view scoped #412840
15/02/2012
0
Estou fazendo um cadastro de nota fiscal, para fazer esse cadastro utilizei o componente p:wizard do primefaces.
O escopo dessa tela de cadastro é @ViewScoped, e para efetuar o cadastro está funcionando certinho.
Meu problema ocorre quando tenho que efetuar a alteração de uma nota a partir de uma tela de listagem.
Tenho um dataTable que lista as notas cadastradas, e um link para o método do bean, segue código abaixo.
<p:column styleClass=tdEditar>
<f:facet name=header>
<h:outputText value=Editar />
</f:facet>
<h:commandLink action=#{NotaFiscalCadastroBean.Editar} >
<h:graphicImage url=../../comum/img/edit.png/>
<f:setPropertyActionListener target=#{NotaFiscalCadastroBean.notaFiscal} value=#/>
</h:commandLink>
</p:column>
Como faço para carregar os dados que o usuário escolheu no dataTable ?
obs.: Já mudei o scope para Request, mas dai o componente p:wizard não funciona corretamente pois perde os dados ao passar de aba, tambem tentei usar o session, e dai o problema que ocorre é que ao tentar cadastrar uma nova nota fiscal o sistema abre a nota fiscal que estava sendo editada..
att
Daniel Everling
Curtir tópico
+ 0Posts
17/02/2012
Davi Costa
att Davi
Gostei + 0
17/02/2012
Daniel Everling
no xhtml fiz assim (passando parametros)
<h:commandLink action=notaFiscalCadastro >
<h:graphicImage url=../../comum/img/edit.png/>
<f:setPropertyActionListener target=#{NotaFiscalCadastroBean.notaFiscal} value=#/>
<f:param value=#{notaFiscal.numeroNota} name=numeroNota/>
<f:param value=#{notaFiscal.dataEmissao} name=dataEmissao/>
<f:param value=#{notaFiscal.fornecedor.pessoaID} name=fornecedor/>
</h:commandLink>
e no bean, capiturei os mesmos assim (usando a annotation @PostConstruct), digo que ele deve executar esse metodo assim que a pagina for carregada, e pego os parametros passado no xhtml
@PostConstruct
public void Init(){
String numeroNota = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(numeroNota);
String dataEmissaoTemp = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(dataEmissao);
String fornecedorTemp = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(fornecedor);
}
Obrigado
Gostei + 0
17/02/2012
Davi Costa
att Davi
Gostei + 0
20/02/2012
Dyego Carmo
Resolvido o problema ?
Se sim, poderia fechar o chamado ?
Valeu !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)