[RESOLVIDO] Input não pega valor do managedBean

Amigos, estou com um problema que acho muito curioso. Vejam:

Tenho uma tabela exibida com PrimeFaces, com vários dados. A última coluna possui dois botões, um é o excluir e o outro editar.

O botão excluir funciona perfeitamente bem. Pega o objeto da linha selecionada e exclui. Já o botão editar, deveria abrir um formulário de edição e carregar nos inputText os valores do ManagedBean. O curioso é que ele deveria pegar os mesmo dados que o botão excluir pega!

	<h:panelGroup layout="horizontal">
						<p:commandButton id="btEditar" icon="ui-icon-pencil"
							title="Editar" onclick="dlgEditar.show()" >
						</p:commandButton>
						<p:commandButton id="btRemover" icon="ui-icon-trash" 
							title="Remover" onclick="confirmaExclusao.show()" >
						</p:commandButton>
					</h:panelGroup>

O managed Bean está com escopo REQUEST. O que estou fazendo de errado?

Abraços

Faz um teste, troca para SessionScoped e testa.

Não tô vendo a forma como vc passa o objeto corrente pra ação,não era pra ter um f:setPropertyActionListener ai??

Obrigado JakeFrog, mas como SessionScoped já havia testado e também não funciona.

Tudo bem, vou testar, mas por que o comando excluir funciona bem? Na minha visão o processamento será em cima dos mesmos atributos.

Nessa chamada você está chamando por ajax.

Realmente está estranho funcionar para o excluir.

Você está utilizando por dialog? Ta faltando fazer um update no form do dialog.

[quote=jakefrog]Nessa chamada você está chamando por ajax.

Realmente está estranho funcionar para o excluir.

Você está utilizando por dialog? Ta faltando fazer um update no form do dialog.[/quote]

Puxa, que brecha. É verdade.

Eu não estava atualizando o dialog.

Ficou assim:

<p:column style="width:10%">
					<h:panelGroup layout="horizontal">
						<p:commandButton id="btEditar" icon="ui-icon-pencil" actionListener="#{partidosBean.citar}"
							title="Editar" oncomplete="dlgEditar.show()" update=":formEditarPartido:dlgEditar" >
						</p:commandButton>
						<p:commandButton id="btRemover" icon="ui-icon-trash" actionListener="#{partidosBean.citar}"
							title="Remover" onclick="confirmaExclusao.show()"  >
						</p:commandButton>
					</h:panelGroup>
				</p:column>

Funcionou! :smiley:

Obrigado amigos!

Uma pergunta, talvez idiota, mas não quero ficar com essa dúvida.

Quando devo usar um f:setPropertyActionListener ?

Abraços

Olá prog.tiago.

Você pode usar para passar o objeto em si para a sessão, com o raf4ever falou.

Tem gente que utilizar o id da tabela, chama o método, passa o mesmo por paramentro e realiza uma consulta para editar o objeto para sessão.

Já com o f:setPropertyActionListener você editar o objeto para a sessão sem fazer uma consulta.

Abraço.

Enviar um objeto para a sessão teoricamente utiliza mais recursos e processamento portanto. Estou correto?

É mais adequado usar ajax então né?

Exato!

Abraço.

Valeu amigos!

Muito obrigado!