na minha página tenho uma lista de objetos os quais estou listando com uma ui:repeat gerando <p:commandLink>
ao clicar no link quero abrir uma <p:dialog>
mas não está abrindo
<ui:definename="conteudo"><f:metadata><f:eventlistener="#{facesContext.externalContext.invalidateSession}"type="preRenderView"/></f:metadata><h:formid="listarNotas"prependId="false"><h:panelGrouplayout="block"style="border: 0 none; color: rgb(53, 130, 111); font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 18px; margin: 0; padding:0;"><em>NotaFiscal</em></h:panelGroup><p:ajaxStatusonstart="loading.show();"onsuccess="loading.hide();"/><p:dialogmodal="true"widgetVar="loading"showHeader="false"draggable="false"closable="false"style="text-align: center;"><imgsrc="#{request.contextPath}/resources/images/ajax-loader.gif"/><br/><br/>Carregando...</p:dialog><p:tabViewid="tabs"dynamic="true"><p:tabid="tabs-1"title="NOTAS FISCAIS"><p:panelid="tab1"><h:panelGroupid="panel"style="margin: 10px 0 10px 0;"layout="block"><h:panelGridid="panell"columns="2"columnClasses="column1,column2"style="width: 100%;"><tableid="table"><tr><td>CONTRATO</td><td>PESSOA/RAZÃO</td><td>BOLETO</td><td>VENCIMENTO</td><td>VALOR</td><tdalign="center">CARTADESCONTO</td></tr><ui:repeatvar="nota"value="#{autenticar.notas}"><tr><td><p:commandLinkid="link"value="#{nota.contrato}"update=":novaNota"><f:setPropertyActionListenertarget="#{autenticar.notaSelecionada}"value="#{nota}"/><f:ajaxrender=":novaNota"listener="#{autenticar.mostrarPopupNotaNova()}"/></p:commandLink></td></tr></ui:repeat></table></h:panelGrid></h:panelGroup><h:panelGroupstyle="text-align: left;"><h:messagesid="mensagemEmail"styleClass="message-chat"style="margin-bottom: 20px;"globalOnly="true"/></h:panelGroup></p:panel></p:tab></p:tabView></h:form><p:dialogheader="Nota Fiscal Eletrônica"modal="true"id="novaNota"widgetVar="novaNota"draggable="false"><h:panelGrouplayout="block"><h:outputLabelvalue="Srs. Clientes, "/><br/><br/>   <h:outputLabelvalue="Em virtude da implantação do novo sistema de nota fiscal eletrônica , disponibilizado pela SEFIN-Fortaleza, informamosqueoacessoàssuasnotasfiscaisdeveráserrealizadoatravésdolinkabaixo." /><br/><br/><h:outputLabelvalue="Utilize os dados apresentados para consulta ao seu documento de cobrança: "/><br/><h:outputLabelvalue="- Número da NFS-e*: #{autenticar.notaSelecionada.numNota} : "/><br/><h:outputLabelvalue="- Código de Verificação*: #{autenticar.notaSelecionada.codVerificacao} : "/><br/><h:outputLabelvalue="- CNPJ do Prestador*: 63554067-0001/98 "/><br/><h:outputLabelvalue="- Link : "/><atarget="_blank"href="https://iss.fortaleza.ce.gov.br">https://iss.fortaleza.ce.gov.br/</a><br/></h:panelGroup><h:panelGrouplayout="block"style="text-align: center; margin-top: 10px;"><p:commandButtonvalue="OK"onclick="novaNota.hide();"/></h:panelGroup></p:dialog></ui:define>
na minha página tenho uma lista de objetos os quais estou listando com uma ui:repeat gerando <p:commandLink>
ao clicar no link quero abrir uma <p:dialog>
mas não está abrindo
<ui:definename="conteudo"><f:metadata><f:eventlistener="#{facesContext.externalContext.invalidateSession}"type="preRenderView"/></f:metadata><h:formid="listarNotas"prependId="false"><h:panelGrouplayout="block"style="border: 0 none; color: rgb(53, 130, 111); font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 18px; margin: 0; padding:0;"><em>NotaFiscal</em></h:panelGroup><p:ajaxStatusonstart="loading.show();"onsuccess="loading.hide();"/><p:dialogmodal="true"widgetVar="loading"showHeader="false"draggable="false"closable="false"style="text-align: center;"><imgsrc="#{request.contextPath}/resources/images/ajax-loader.gif"/><br/><br/>Carregando...</p:dialog><p:tabViewid="tabs"dynamic="true"><p:tabid="tabs-1"title="NOTAS FISCAIS"><p:panelid="tab1"><h:panelGroupid="panel"style="margin: 10px 0 10px 0;"layout="block"><h:panelGridid="panell"columns="2"columnClasses="column1,column2"style="width: 100%;"><tableid="table"><tr><td>CONTRATO</td><td>PESSOA/RAZÃO</td><td>BOLETO</td><td>VENCIMENTO</td><td>VALOR</td><tdalign="center">CARTADESCONTO</td></tr><ui:repeatvar="nota"value="#{autenticar.notas}"><tr><td><p:commandLinkid="link"value="#{nota.contrato}"update=":novaNota"><f:setPropertyActionListenertarget="#{autenticar.notaSelecionada}"value="#{nota}"/><f:ajaxrender=":novaNota"listener="#{autenticar.mostrarPopupNotaNova()}"/></p:commandLink></td></tr></ui:repeat></table></h:panelGrid></h:panelGroup><h:panelGroupstyle="text-align: left;"><h:messagesid="mensagemEmail"styleClass="message-chat"style="margin-bottom: 20px;"globalOnly="true"/></h:panelGroup></p:panel></p:tab></p:tabView></h:form><p:dialogheader="Nota Fiscal Eletrônica"modal="true"id="novaNota"widgetVar="novaNota"draggable="false"><h:panelGrouplayout="block"><h:outputLabelvalue="Srs. Clientes, "/><br/><br/>   <h:outputLabelvalue="Em virtude da implantação do novo sistema de nota fiscal eletrônica , disponibilizado pela SEFIN-Fortaleza, informamosqueoacessoàssuasnotasfiscaisdeveráserrealizadoatravésdolinkabaixo." /><br/><br/><h:outputLabelvalue="Utilize os dados apresentados para consulta ao seu documento de cobrança: "/><br/><h:outputLabelvalue="- Número da NFS-e*: #{autenticar.notaSelecionada.numNota} : "/><br/><h:outputLabelvalue="- Código de Verificação*: #{autenticar.notaSelecionada.codVerificacao} : "/><br/><h:outputLabelvalue="- CNPJ do Prestador*: 63554067-0001/98 "/><br/><h:outputLabelvalue="- Link : "/><atarget="_blank"href="https://iss.fortaleza.ce.gov.br">https://iss.fortaleza.ce.gov.br/</a><br/></h:panelGroup><h:panelGrouplayout="block"style="text-align: center; margin-top: 10px;"><p:commandButtonvalue="OK"onclick="novaNota.hide();"/></h:panelGroup></p:dialog></ui:define>
Tire o id do commandLink. Pode estar confundindo por ter varios componentes com o mesmo id.
Se não der certo, verifique se você não tem forms aninhados e teste com o primefaces 4, se possível.
T
tsouzam
ErickRAR:
Tire o id do commandLink. Pode estar confundindo por ter varios componentes com o mesmo id.
Se não der certo, verifique se você não tem forms aninhados e teste com o primefaces 4, se possível.
não há forms aninhados.
modeu a versao do prime para a 4, mas ao abrir a dialog continua não trazendo os dados da nota selecionada.
coloquei o breakpoint no metodo set da notaSelecionada, mas ele não para la.
a tag <f:setPropertyActionListener target="#{autenticar.notaSelecionada}" value="#{nota}" /> não está chamando o método.
public void selecionarNota(ActionEvent event){
this.notaSelecionada = (Nota)event.getComponent().getAttributes().get("notaSelecionada");
System.out.println("Nota selecionada");
}
o problema é que não esta chamando o método no bean.
T
tsouzam
Conssegui resolver.
a página ficou assim:
<h:formid="listarNotas"prependId="false"><p:dialogheader="Nota Fiscal Eletrônica"modal="true"id="idNovaNota"widgetVar="novaNota"draggable="false"styleClass="position:absolute; margin:auto; left:0; right:0; top:0; bottom:0;"><h:panelGrouplayout="block"><h:outputLabelvalue="Srs. Clientes, "/><br/><br/>   <h:outputLabelvalue="Em virtude da implantação do novo sistema de nota fiscal eletrônica, disponibilizado pela SEFIN-Fortaleza, "/><br/><h:outputLabelvalue="informamos que o acesso às suas notas fiscais deverá ser realizado através do link abaixo. "/><br/><br/><h:outputLabelvalue="Utilize os dados apresentados para consulta ao seu documento de cobrança: "/><br/><h:outputLabelvalue="- Número da NFS-e*:"/> <h:panelGroup id="numNota" /><br/><h:outputLabelvalue="- Código de Verificação*:"/> <h:panelGroup id="codVerificacao" /><br/><h:outputLabelvalue="- CNPJ do Prestador*: 63554067-0001/98 "/><br/><h:outputLabelvalue="- Link: "/><atarget="_blank"href="https://iss.fortaleza.ce.gov.br">https://iss.fortaleza.ce.gov.br/</a><br/></h:panelGroup><h:panelGrouplayout="block"style="text-align: center; margin-top: 10px;"><p:commandButtonvalue="OK"onclick="PF('novaNota').hide()"/></h:panelGroup></p:dialog><h:panelGrouplayout="block"style="border: 0 none; color: rgb(53, 130, 111); font-family: Verdana,Arial,Helvetica,sans-serif; font-size: 18px; margin: 0; padding:0;"><em>NotaFiscal</em></h:panelGroup><p:ajaxStatusonstart="PF('loading').show()"onsuccess="PF('loading').hide()"/><p:dialogmodal="true"widgetVar="loading"showHeader="false"draggable="false"closable="false"style="text-align: center;"><imgsrc="#{request.contextPath}/resources/images/ajax-loader.gif"/><br/><br/>Carregando...</p:dialog><p:tabViewid="tabs"dynamic="true"><p:tabid="tabs-1"title="NOTAS FISCAIS"><p:panelid="tab1"><h:panelGroupid="panel"style="margin: 10px 0 10px 0;"layout="block"><h:panelGridid="panell"columns="2"columnClasses="column1,column2"style="width: 100%;"><tableid="table"><tr><tdalign="center">CONTRATO</td><tdalign="center">PESSOA/RAZÃO</td><tdalign="center">BOLETO</td><tdalign="center">VENCIMENTO</td><tdalign="center">VALOR</td><tdalign="center">CARTADESCONTO</td></tr><ui:repeatvalue="#{autenticar.notas}"var="nota"><tr><tdalign="right"><p:commandLinkvalue="#{nota.contrato}"update=":listarNotas:idNovaNota"oncomplete="setarCamposDialog(#{nota.numNota}, #{nota.codVerificacao}); PF('novaNota').show();"/></td><tdalign="center"><p:commandLinkvalue="#{nota.razaoSocial}"update=":listarNotas:idNovaNota"oncomplete="setarCamposDialog(#{nota.numNota}, #{nota.codVerificacao}); PF('novaNota').show();"/></td><tdalign="right"><p:commandLinkvalue="#{nota.boleto}"update=":listarNotas:idNovaNota"oncomplete="setarCamposDialog(#{nota.numNota}, #{nota.codVerificacao}); PF('novaNota').show();"/></td><tdalign="center"><p:commandLinkupdate=":listarNotas:idNovaNota"oncomplete="setarCamposDialog(#{nota.numNota}, #{nota.codVerificacao}); PF('novaNota').show();"><h:outputTextvalue="#{nota.dtVencimento}"><f:convertDateTimepattern="dd/MM/yyyy"timeZone="#{autenticar.timeZone}"/></h:outputText></p:commandLink></td><tdalign="right"><p:commandLinkupdate=":listarNotas:idNovaNota"oncomplete="setarCamposDialog(#{nota.numNota}, #{nota.codVerificacao}); PF('novaNota').show();"><h:outputFormatvalue="#{nota.valor}"><f:convertNumberpattern="0.00"/></h:outputFormat></p:commandLink></td><tdalign="center">( <p:commandLink value="#{nota.qtCartas}" update=":listarNotas:idNovaNota" oncomplete="setarCamposDialog(#{nota.numNota}, #{nota.codVerificacao}); PF('novaNota').show();" /> )</td></tr></ui:repeat></table></h:panelGrid></h:panelGroup><h:panelGroupstyle="text-align: left;"><h:messagesid="mensagemEmail"styleClass="message-chat"style="margin-bottom: 20px;"globalOnly="true"/></h:panelGroup></p:panel></p:tab></p:tabView></h:form>
e eu criei uma função jquery, que eu chamo no onComplete do <p:commandLink>, para setar na dialog os valores que eu queria.
ficou assim:
function setarCamposDialog(numNota, codVerificacao){
$("#numNota").html(numNota);
$("#codVerificacao").html(codVerificacao);
}