Ola pessoal,
to com o seguinte problema,
eu tenho uma imagem com um p:commandButton em uma coluna de uma tabela, que ao clicar abre um p:dialog…
<p:commandButton update="painelDados" onclick="visualizar.show()">
<p:graphicImage title="Visualizar" style="cursor: pointer"
alt="Remover" url="/imagens/view.png" />
<f:setPropertyActionListener value="#{item}"
target="#{bean.visualizar}" />
</p:commandButton>
até ai td bem, funciona!
mas acontece que desse jeito, aparece um botao na tabela, ao lado da imagem, e o dialog só abre se eu clicar no botao. E eu queria que só aparecesse a imagem, com o dialog abrindo qdo eu clicar nessa imagem.
sendo assim eu coloquei um p:commandLink no lugar do p:commandButton… mas ai nao funcionou…
alguem sabe como resolver isso ?
obrigado
Já tentou utilizar a propriedade onclick?
Em alguns casos, como esse seu, utilizo onclick=“dialog.show()”
já sim…
o problema é que qdo troco pra um commandLink nao funciona…
Me desculpe, analisei de forma errada da primeira vez.
Na maioria das imagens que tenho aqui tenho a ação ou navegação no onclick da imagem em si e não do botão.
Logo, eu faria assim:
<p:graphicImage title="Visualizar" style="cursor: pointer" alt="Remover" url="/imagens/view.png" onclick="visualizar.show()" />
Já para setar a propriedade (F:setPropertyActionListener) eu faria:
criaria um metodo listener no bean para quando uma linha fosse selecionada, considerando que os objetos são instância do mesmo objeto.
public void onRowSelect(SelectEvent event) {
this.setVisualizar(item);
}
aí é só chamar na pagína dentro da tabela que você estiver utilizando um p:ajax, por exemplo:
<p:ajax event="rowSelect" listener="#{bean.onRowSelect}" update="tabela" />
Aqui tem funcionado!
Mas caso não funcione, verifique a possibilidade de utilizar a propriedade icon do p:commandButton, dessa forma:
<p:commandButton id="selectButton" oncomplete="visualizar.show()" icon="ui-icon-search" title="Visualizar">
<f:setPropertyActionListener value="#{item}" target="#{bean.visualizar}" />
</p:commandButton>
Espero ter ajudado. Abços!
lordaj
Fevereiro 14, 2012, 3:36pm
#5
<p:column >
<f:facet name="header">
<h:outputText value="Arquivo" />
</f:facet>
<h:commandLink title="Clique!">
<p:graphicImage value="images/env.gif" />
<f:setPropertyActionListener value="#{item}" target="#{bean.visualizar}" />
</h:commandLink>
</p:column>
desse jeito tem que funcionar…
o adequado é com commandLink
lordaj,
e realmente funcionou… tinha tentado a msm coisa. mas com um p:commandLink… mas assim só funciona com o ajax=false
mas consegue aqui!
vlw marcelo e lordaj