Atualizado 25/06/2015 pelo User Guide do Primefaces 5.2
Update on June, 25 of 2015 by User Guide of the Primefaces 5.2.
Boa noite pessoal, estou mais uma vez escrevendo para dá dicas para quem está desenvolvendo com o framework PrimeFaces, hoje tive a ideia de escrever um post sobre as possibilidades de eventos que existem no PrimeFaces 3.5 no componente p:ajax.
Passei em dois momentos de muita busca para encontrar soluções para renderizar algumas ações em meu código e por isso motivou a eu escrever este post.
De acordo com o User Guide do Primefaces existe os eventos* abaixo:
*Estes eventos pode ser colocado no componente p:ajax.
active
blur
cancel
change
cellEdit
click
close
collapse
colReorder
colResize
complete
connect
connectionChange
contextMenu
dateSelect
dblselect
dialogReturn
disconnect
eventSelect
eventMove
eventResizeexpand
filter
geocode
idle
itemSelect
itemUnselect
keyup
load
markerDrag
message
mouseover
overlaySelect
page
pointSelectrate
reorder
resize
rowSelect
rowUnselect
rowReorder
rowEdit
rowEditInit
rowEditCancel
rowSelectRadio
rowSelectCheckbox
rowUnselectCheckbox
rowDblselect
rowTogglesave
select
sort
slideEnd
stateChange
swipeleft
swiperighttabChange
taphold
transfer
triggerEvent
toggle
toggleEvent
toggleSelect
unselect
viewChange
Todo esses pertence aos eventos do PrimeFaces. Lembrando que para algumas ações funcionarem é necessário colocar a tag process, como por exemplo, @this que segundo o User Guide é indicado para comportamentos da execução do AJAX, que seja explicitamente definido para uma melhor transformação parcial nas ações. Para cada situação existe a melhor opção que pode ser @this, @parent, @form, @namingcontainer, @none, @all.
Recentemente tive um problema com o rendered, onde mesmo com o componente ajax e o evento definido não funcionava, porém ao tirar o evento e definindo o update igual ao nome do form geral, funcionou, exemplo:
//Não funcionou
<p:ajax event="change" update=":formdivida:vencimento" process="@this"/>
/**
* O formdivida é o ID do componente h:form
* Devido o p:ajax só está renderizando o componente com o id vencimento não estava * funcionando e quando eu renderizei o todo, como abaixo, a ação funcionou.
**/
<p:ajax event="change" update=":formdivida" process="@this"/>
Espero ter ajudado a vocês.
3 comentários:
Dica foi util pra mim ! Muito obrigado!
abraco
@Marcao Valeu pelo feedBack!
Funcionou. Obrigada
Postar um comentário