Esse é um assunto que eu devo ter demorado uns 3 dias para descobrir como fazia.
O meu problema era: Eu tinha dois faces com componentes diferentes e eu simplesmente não conseguia colocar partialTriggers nos componentes (que estavam em facets separados).
O jeito foi então, colocar um ActionListener (ou um SelectionListener, dependendo do componente) e pelo actionListener forçar a atualização pelo código... mas como fazer?
Exemplo do componente:
<af:commandButton text="Botao atualizavel" actionnListenter="#{managedBeanTest.processAction}"
Já o componente que vai ser atualizado, é colocado normalmente na pagina jspx -- a única diferença é que você terá que bindar o componente pai (o painelLayout ou qualquer outro) e o componente que vai ser atualizado no managedBean.
o código do proccessAction é mais ou menos assim:
public void proccessAction(ActionEvent event){
//componente a ser atualizado
outputText.setValue("Esse componente foi atualizado via codigo!");
//parentComponet = componente pai
AdfFacesContext.getCurrentInstance().addPartialTarget(parentComponet);
}
O único truque é pegar a instanciá do adffaces e adicionar o componente pai para ser atualizado. =D
(Eu tentei colocar o componente diretamente, mas não deu certo =( )
Lembrando de colocar o componente que vai ativar a atualização como partialSubmit=true para que não haja um refresh total da página.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário