Gu1
Julho 19, 2013, 2:21pm
#1
Boa tarde Senhores, estou com um probleminha em uma aplicação que desenvolvi,estou usando primafaces 3.4 com jsf 2.
Em uma página que utilizo, tenho um botão dentro de um datatable e utilizo paginação, quando clico no botão na primeira página é feito o redirecionamento para a página de alteração, mas quando vou para a segunda página do datatable o botão para de funcionar, ou seja, ele volta para a primeira página do datatable.
No debug que fiz vi que quando está na segunda página do datatable ele não chama o método responsável por abrir a pagina de alteração, já li várias coisas na internet e no próprio fórum, mas até agora nada, alguém poderia me ajudar.
segue a página com o Datatable:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Administrador</title>
</h:head>
<h:body>
<ui:composition template="administrador.xhtml">
<ui:define name="formAltListaCidade">
<f:view encoding="ISO-8859-1">
<h:form id="form">
<h1 class="title ui-widget-header ui-corner-all" style="margin: 0px 0px 2px 0px;">Cidade/Alterar</h1>
<p:dataTable id="dataTable" var="cidade" value="#{cidadeFace.cidades}" filteredValue="#{cidadeFace.filteredCidades}" paginator="true" rows="3" rowsPerPageTemplate="3,6,9" emptyMessage="Nenhum registro encontrado." >
<p:column headerText="Cidade" filterBy="#{cidade.nomeCidade}" filterMatchMode="contains">
<h:outputText value="#{cidade.nomeCidade}" />
</p:column>
<p:column headerText="Estado" filterBy="#{cidade.estado}" filterMatchMode="contains">
<h:outputText value="#{cidade.estado}" />
</p:column>
<p:column headerText="Ação">
<h:commandButton value="Alterar" action="#{cidadeFace.startEditCidade}">
<f:setPropertyActionListener value="#{cidade}" target="#{cidadeFace.selecionaCidade}" />
</h:commandButton>
</p:column>
</p:dataTable>
</h:form>
</f:view>
</ui:define>
<ui:define name="menuCidade">
<ui:include src="menuCidade.xhtml" />
</ui:define>
</ui:composition>
</h:body>
</html>
desde já obrigado
tenta setar a opcao ajax=false
Gu1
Julho 19, 2013, 3:39pm
#3
Cara eu ja tentei isso mas num funfa… rapaiz ta osso em…
segue um exemplo que funciona no meu codigo
<p:commandButton id="btnEditar" action="#{ClienteController.editarCliente}" value=" " ajax="false" immediate="true" alt="Alterar Cliente">
<f:setPropertyActionListener value="#{cliente}" target="#{ClienteController.cliente}"/>
</p:commandButton>
Gu1
Julho 19, 2013, 4:07pm
#5
ele funciona na segunda página da paginação?
aqui ele funciona na primeira página da paginação, já na segunda página da paginação no funciona.
ou seja continua do mesmo jeito…rsrsrs para não chorar…
segue um codigo de uma tela que funciona, baseie seu codigo nesse exemplo
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/paginas/layout.xhtml">
<ui:define name="conteudo">
<h:form id="formulario" prependId="false">
<p:panel id="panelFormulario" header="CONSULTA - CLIENTE" style="padding:0;">
<h:panelGroup styleClass="conteudo_span grid_5 form-item">
<h:outputLabel id="outDescricao" value="Razão Social" />
<p:inputText id="txtRazao" value="#{ClienteController.razaoSocial}" maxlength="150" />
</h:panelGroup>
<h:panelGroup styleClass="conteudo_span grid_2 form-item">
<h:outputLabel id="outValidade" value="CNPJ" />
<p:inputMask id="txtCNPJ" mask="99.999.999/9999-99" value="#{ClienteController.cnpj}" maxlength="18"/>
</h:panelGroup>
<h:panelGroup styleClass="conteudo_span grid_3 form-item" style="margin-top:18px; height:55px; text-align:center;">
<p:commandButton id="btnPesquisar" actionListener="#{ClienteController.pesquisar}" update="dtbCliente" value="PESQUISAR" style="height: 30px !important;"/>
</h:panelGroup>
<p:dataTable id="dtbCliente" value="#{ClienteController.clientes}" var="cliente"
emptyMessage="" rows="11" paginator="true" paginatorPosition="bottom"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {NextPageLink} {LastPageLink}"
style="float:left; width:100%">
<p:column headerText="Razão Social" style="width:250px">
<h:outputText value="#{cliente.razaoSocial}" />
</p:column>
<p:column headerText="CNPJ" style="width:100px">
<h:outputText value="#{cliente.cnpj}"/>
</p:column>
<p:column headerText="Telefone" style="width:100px">
<h:outputText value="#{cliente.telefone}"/>
</p:column>
<p:column style="width:25px">
<p:commandButton id="btnEditar" action="#{ClienteController.editarCliente}" value=" " styleClass="icone_botao icone_botao_alterar" ajax="false" immediate="true" alt="Alterar Cliente">
<f:setPropertyActionListener value="#{cliente}" target="#{ClienteController.cliente}"/>
</p:commandButton>
<p:commandButton id="btnExcluir" onclick="modalExcluir.show()" value=" " styleClass="icone_botao icone_botao_excluir" alt="Excluir Cliente">
<f:setPropertyActionListener value="#{cliente}" target="#{ClienteController.cliente}"/>
</p:commandButton>
</p:column>
</p:dataTable>
<h:panelGroup id="grpBotoes" layout="block" style="text-align:center">
<p:commandButton id="btnNovo" value="NOVO" action="#{ClienteController.iniciarCadastrado}"/>
</h:panelGroup>
</p:panel>
</h:form>
</ui:define>
<ui:define name="modal">
<p:confirmDialog id="confirmDialog" message="Tem certeza que deseja excluir a cliente ?" closable="false" severity=" "
header="Confirmação de exclusão" widgetVar="modalExcluir" appendToBody="true">
<h:form id="formConfirmacao" prependId="false">
<h:panelGroup layout="block" style="width:100%; text-align:center;">
<p:commandButton id="btnSim" value="Sim" update="@(:dtbCliente)" oncomplete="modalExcluir.hide()" actionListener="#{ClienteController.excluirCliente}" />
<p:commandButton id="btnNao" value="Não" onclick="modalExcluir.hide()" type="button" />
</h:panelGroup>
</h:form>
</p:confirmDialog>
</ui:define>
</ui:composition>
Gu1
Julho 19, 2013, 5:08pm
#7
alissonvla, acho que ocorreu alguma coisa no meu projeto local, pois fiz um teste no projeto que está no servidor e funcionou normal… cara será pode ter sido alguma atualização que fiz no meu NetBeans?
Grato!!!