Excluir com p:confirmdialog primefaces

6 respostas
E

Olá galera tenho uma dataTable e dentro de uma coluna tenho um metodo de exclusão que exclui os registros, mais quando eu passo esse método para um confirmdialog ele não funciona não exclui o regisro, e da um nullpointerexception, com resolvo esse problema ex do codigo:

<h:form>

<p:dataTable>

<p:column>

<f:facet name=“header”>

<h:outputText value=“Excluir” />

</f:facet>						

<p:commandButton value=“Excluir” oncomplete=“popupExcluir.show();” />																																																								  																																																							            			

</p:column>																					

</p:dataTable>																											

</h:form>

<p:dialog id=“modalDialogExcluir” closable=“false” message=“Deseja realmente excluir o registro?” header=“Excluir registro.” severity=“alert” widgetVar=“popupExcluir” appendToBody=“true”>

<p:commandButton type=“submit” id=“confirm” value=“Sim” oncomplete=“popupExcluir.hide()” action="#{clienteController.excluir()}" styleClass=“btn” />
</p:dialog>

Obrigado.

6 Respostas

T

o botao que chama esse dialog precisa fazer um update no id do form que está dentro do seu dialog

E

Olá, coloquei a dialog dentro da coluna de exclusão da datatable ao clicar no botão não da mais o erro nullpointerexception, mais o método de exclusão não é chamado.
o que poderia ser?
ex:

<p:column>

<f:facet name=“header”>

<h:outputText value=“Excluir” />

</f:facet>

<p:commandButton id=“modalDialogButton” value=“Modal” onclick=“popupExcluir.show();” type=“button” update=“cadProduto”/>
<p:dialog id="modalDialogExcluir" closable="false" message="Deseja realmente excluir o registro?" header="Excluir registro." severity="alert" widgetVar="popupExcluir" appendToBody="true"> 
							<p:commandButton type="submit" id="confirm" value="Sim" oncomplete="popupExcluir.hide()" action="#{clienteController.excluir()}" styleClass="btn" />	
						</p:dialog>		
																	
				</p:column>											
			</p:dataTable>																              							
		</h:form>
P

Coloque ajax = false, no comandbutton.

E

Já tentei com ajax = false, mais não da certo o botão dentro da dialog não acessa o método excluir do bean, quando eu tento debugar não acontece nada!

E

Fiz uma alteração colocando o dialog dentro da coluna de exclusão do datatable e ao clicar no botão excluir,
ele chama a dialog mais se eu colocar o cod de barras do produto na dilog ele só mostra o ultimo da tabela e o botão de confirmação “sim”, não executa o metodo de exclusão,

o que poderia ser?

ex:

<p:column>

<f:facet name=“header”>

<h:outputText value=“Excluir” />

</f:facet>

<p:commandButton value=“Excluir” oncomplete=“remover.show()” update=“formRemover”/>
<p:dialog widgetVar="remover" header="Remover Categoria" width="400" modal="true" appendTo="@(body)">
			        		<h:form prependId="false" id="formRemover">
			            		<h:outputText value="Confirma a remoção: #{pro.codigoBarra} ?" />
			            		<h:panelGrid columns="2">
			                		<p:commandButton value="Sim" actionListener="#{produtoController.excluir}" update=":cadProduto:dataTable" oncomplete="remover.hide()" />
			                		<p:commandButton value="Não" onclick="remover.hide()" />
			            		</h:panelGrid>
			        		</h:form>    
						</p:dialog>
																																																														
				</p:column>
P

Poste seu xtml, bean e dao, completos, fica mais fácil pra gente te ajudar!

Criado 10 de dezembro de 2013
Ultima resposta 19 de dez. de 2013
Respostas 6
Participantes 3