Pessoal, poderiam me ajudar, por favor.
Tenho um modal dentro de um xhtml.
Nele tenho dois campos, um comandbutton e uma tabela. Ao clicar no botão para pesquisar as informações, ao finalizar a consulta, ele fecha o modal.
Alguém sabe como resolver?
segue o código do meu dialog:
<p:dialog widgetVar="dlgPesquisaCodigoProduto" id="idDlgUsuario" modal="true" resizable="false">
<h:form id="form_pesquisa_codigo_produto">
<p:growl id="msg" showDetail="false" escape="false" />
<p:panelGrid styleClass="semBorda" columns="1">
<h:outputLabel value="#{msgs.global_selecione_tipo_pesquisa}:" for="select_tipo_pesquisa_codigo_produto" />
<p:selectOneMenu id="select_tipo_pesquisa_codigo_produto" required="true" requiredMessage="#{msgs.global_campo_obrigatorio}"
value="#{criarCotacaoController.tipoPesquisaSelecionada}"
converter="simpleEntityConverter"
style="width:210px; margin-left:28px;">
<f:selectItems value="#{criarCotacaoController.listaTipoPesquisaCodigoProduto}" />
</p:selectOneMenu>
</p:panelGrid>
<p:panelGrid styleClass="semBorda" columns="3">
<p:inputText id="codigo_descricao_procurado" required="true" requiredMessage="#{msgs.global_campo_obrigatorio}"
value="#{criarCotacaoController.codigoDescricaoProcurado}" style="width:250px;" />
<p:commandButton id="procurar_codigo_produto" value="#{msgs.web_global_buscar}"
actionListener="#{criarCotacaoController.procurarCodigoProduto()}"
onclick="statusDialog.show();" oncomplete="statusDialog.hide();"
styleClass="btn_procurar_user" ajax="false" update=":form_pesquisa_codigo_produto:tabela_resultado_pesquisa" />
</p:panelGrid>
<br />
<p:dataTable id="tabela_resultado_pesquisa"
styleClass="tabela_resultado_pesquisa" var="produto"
value="#{criarCotacaoController.listaProdutoModel}"
paginator="true" rows="10" emptyMessage="#{msgs.global_nenhum_registro}">
<f:facet name="header">
<h:outputLabel value="#{msgs.global_resultado_pesquisa}" />
</f:facet>
<p:column
style="max-width: 150px; min-width: 150px; overflow: hidden; text-align: center">
<f:facet name="header">
<h:outputText value="#{msgs.global_codigo_produto}" />
</f:facet>
<h:outputText value="#{produto.id}" />
</p:column>
<p:column
style="max-width: 500px; min-width: 500px; overflow: hidden">
<f:facet name="header">
<h:outputText value="#{msgs.global_descricao_produto}" />
</f:facet>
<h:outputText value="#{produto.descricao}" />
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
e meu método de busca:
public void procurarCodigoProduto() {
listaProdutoPesquisado = new ArrayList<Produto>();
listaProdutoPesquisado.add(new Produto(1234567l, "Produto1"));
listaProdutoPesquisado.add(new Produto(3242423l, "Produto2"));
listaProdutoPesquisado.add(new Produto(6551234l, "Produto3"));
listaProdutoPesquisado.add(new Produto(5678654l, "Produto4"));
listaProdutoPesquisado.add(new Produto(9865327l, "Produto5"));
listaProdutoPesquisado.add(new Produto(3172350l, "Produto6"));
listaProdutoModel = new ProdutoDataModel(listaProdutoPesquisado);
}
Att.
Camilo Oscar
Você tem que fazer o controle na mão.
No site do primefaces mostra como fazer, no exemplo de login do dialog.
Aqui também mostra: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate.
Olhei o site do prime, mas não consegui fazer não…
Estou com o mesmo problema. o que você fez para corrigir man?
Por favor me ajude
[quote=joaogbrito]Estou com o mesmo problema. o que você fez para corrigir man?
Por favor me ajude[/quote]Faça o mesmo que já foi dito aqui uai. o.O
Man, a questão é:
Quando eu clico no modal ele carrega os dados e fecha no mesmo instante. Existe alguma tag que cancela isso? Se eu recarregar a página o modal fecha. Teria como eu carregar a página e o modal permanecer aberto??
João, para parar de acontecer isso, coloca no commandbutton ajax=“false”.
Abs
Camilo Oscar
Man, já fiz isso. Quando eu coloco ajax=“false”, ele não carrega os dados do usuário no modal.
João, bom dia.
Posta seu código, para eu dar uma olhada.
Segue abaixo man.
<p:column>
<f:facet name=“header”>
<h:outputText value=“Atualizar” style=“font-family: verdana;”/>
</f:facet>
<p:commandLink actionListener="#{documentoMB.prepararAlterar}" id=“modalDialogButton” value=" Validar " onclick=“modalConvocacao.show()” immediate=“false” ajax=“false” oncomplete=“handleLoginRequest(xhr, status, args)” >
Modal:
<ui:define name=“modal”>
<h:panelGrid columns=“1” cellpadding=“5”>
<p:dialog id=“modalDialog” appendToBody=“true” header=“Validação de dados” widgetVar=“modalConvocacao” modal=“true” height=“500” width=“600”>
<h:form enctype=“multipart/form-data”>
<p:panel header=“Área restrita - Processo Administrativo Digital - PAD” style=“width: 90%;”>
<f:facet name=“header”>
<h:outputText value=“Dados a enviar” style=“font-family: verdana;font-size: 10px;”/>
</f:facet>
<h:outputLabel value=" Documento " style=“font-family: verdana;font-size: 10px;”>
<p:fileUpload fileUploadListener="#{documentoMB.carregarArquivo}"
value="#{documentoMB.documento.anexo}"
mode=“advanced”
disabled=“true”
update=“messages”
auto=“true”
sizeLimit=“100000”
label=“Documento anexado”
allowTypes="/(.|/)(gif|jpg|png|jpeg|pdf|JPEG|PNG|JPG|PDF)$/"/>
<p:growl id="messages" showDetail="true"/>
</h:outputLabel>
<br />
<h:outputLabel value=" Mês " style="font-family: verdana;font-size: 10px;"/>
<br />
<p:selectOneMenu id="me" value="#{documentoMB.documento.mes}" disabled="true" style="font-family: verdana;font-size: 10px;">
<f:selectItem itemLabel="--Selecione--" itemValue="" />
<f:selectItems value="#{documentoMB.listMeses}" />
</p:selectOneMenu>
<br />
<h:outputLabel value=" Descrição " style="font-family: verdana;font-size: 10px;"><br />
<h:inputTextarea value="#{documentoMB.documento.ds}" rows="4" cols="35" disabled="true"/>
</h:outputLabel>
<br />
<h:outputLabel value=" Status " style="font-family: verdana;font-size: 10px;" rendered="#{sec:ifAnyGranted('ROLE_GESTOR')}"/>
<br />
<p:selectOneMenu id="mes" value="#{documentoMB.documento.status}" style="font-family: verdana;font-size: 10px;" rendered="#{sec:ifAnyGranted('ROLE_GESTOR')}" >
<f:selectItem itemLabel="--Selecione--" itemValue="" />
<f:selectItem itemLabel="1 - A validar " itemValue="1" />
<f:selectItem itemLabel="2 - Validado" itemValue="2" />
</p:selectOneMenu>
<br />
<h:outputLabel value=" Descrição da validação " style="font-family: verdana;font-size: 10px;" rendered="#{sec:ifAnyGranted('ROLE_GESTOR')}" ><br />
<h:inputTextarea value="#{documentoMB.documento.dsValidacao}" rows="4" cols="35"/>
</h:outputLabel>
<br />
<h:outputLabel value=" Validação " style="font-family: verdana;font-size: 10px;" rendered="#{sec:ifAnyGranted('ROLE_GESTOR')}" ><br />
<h:inputText value="#{documentoMB.documento.validacao}" />
</h:outputLabel>
<br />
<f:facet name="footer">
<h:panelGroup>
<h:form><h:commandButton value=" Limpar " style="font-family: verdana;font-size: 10px;" actionListener="#{documentoMB.limpar}" /></h:form>
<h:commandButton value=" Validar " style="font-family: verdana;font-size: 10px;" action="#{documentoMB.alterar}" />
</h:panelGroup>
</f:facet>
</p:panel>
</h:form>
</p:dialog>
</h:panelGrid>
</ui:define>
Desde já agradeço man!
Man, eu alterei para o commandLink do jsf <h:CommandLink continua fechando>