[RESOLVIDO]Update Datatable jsf 2.0

10 respostas
L

Galera é o seguinte, eu tenho uma tabela com dados e opções de botões quando clico no botão excluir ele até exclui o usuario daquela linha, mais ele não atualiza tabela ja tentei de varias formas atualizar como:

<f:ajax  render="tabela" />

tambem

<f:ajax  render=":form1" />

e tambem:

update="tabela" e update="form"

e nada disso faz com que atualiza meus dados após exclusão , só deposi de reiniciar o navegador que os dados realmente voltam exclusos…
o codigo fonte é esse

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">



<h:head>
	<link rel="stylesheet" href="../../css/stylesIndex.css"></link>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</h:head>

<h:body>

	<h:form id="form1">
		<div align="center" id="itsthetable">

			<h:dataTable class="imagetable" id="tabela" name="tabela"
				value="#{usuarioBean.getListaUsuarios()}" var="usuario">

				<h:column headerText="Nome" id="nome">
					<f:facet name="header">Nome</f:facet>
				 #{usuario.nome}</h:column>

				<h:column headerText="Email" id="email">
					<f:facet name="header">Email</f:facet>
				 #{usuario.email}</h:column>

				<h:column headerText="Telefone Residencial" id="telefoneResidencial">
					<f:facet name="header">Telefone Residencial</f:facet>
				 #{usuario.telefoneResidencial}</h:column>

				<h:column headerText="Telefone Celular" id="telefoneCelular">
					<f:facet name="header">Celular</f:facet>
				#{usuario.telefoneCelular}</h:column>

				<h:column headerText="Telefone Celular" id="telefoneCelular2">
					<f:facet name="header">Celular 2</f:facet>
				 #{usuario.telefoneCelular2}</h:column>

				<h:column headerText="Status Legivel" id="statusLegivel">
					<f:facet name="header">Status</f:facet>
				 #{usuario.statusLegivel}</h:column>

				<h:column id="opcoes">

					<f:facet name="header">Opções</f:facet>
					
					<h:commandButton image="../../img/delete.png"
						action="#{usuarioBean.deletarUsuario(usuario)}" value="Excluir">
					</h:commandButton>

					<h:commandButton image="../../img/editar.png"
						action="#{usuarioBean.montarUsuarioUpdate(usuario)}"
						value="Editar">
					</h:commandButton>
				</h:column>

						

			</h:dataTable>


		</div>

	</h:form>

</h:body>
</html>

vlw

10 Respostas

H

Após excluir o objeto do DB, você está excluindo o mesmo da lista da tabela?

L

Não como faço pra excluir o item da tabela?

H

lukinha_91:
Não como faço pra excluir o item da tabela?
metodoQueRemoveDoBanco(carro); carros.remove(carro);
Caso sua lista seja um List carros por exemplo.

L

não deu certo ainda, o commandButton ta da seguinte forma!

<h:commandButton image="../../img/delete.png"
						 value="Excluir">
						<f:ajax listener="#{usuarioBean.deletarUsuario(usuario)}"   event="click"  render="tabela" ></f:ajax>
					</h:commandButton>

e no MB tem o metodo que exclui, nele ele preenche a lista novamente, com os atuais registros do BD, como faço pra recarregar a lista novamente?

public void deletarUsuario(UsuarioTO usuario){
		
		business.excluirUsuario(usuario);
		
		listaUsuarios = business.listarUsuarios("nome");
		
	}
H

Desse modo, apenas atualizar o form já deveria bastar.

ele tá chamando o método e apagando lá no DB?

H

Pera, pq você não não utilizar o actionLIstener do commandButton para chamar o método de excluir?

L

jakefrog:
Desse modo, apenas atualizar o form já deveria bastar.

ele tá chamando o método e apagando lá no DB?

Ele exclui la no banco tudo certinho ele só não atualiza a tela, somente hora que fecha e executa novamente ae sim ja vem com o nome excluido da lista!

L

coloquei la agora dae tirei o EVENT do ajax, e mesmo assim ele não atualiza

H

e mesmo você dando o render no form1 não está indo?

L
jakefrog:
e mesmo você dando o render no form1 não está indo?

DEU CERTO CARA! MUITO OBRIGADO MESMO!

OLHA O CODIGO O JEITO QUE FICOU! USEI RENDER NO FORM1

<h:column id="opcoes">

					<f:facet name="header">Opções</f:facet>
					
					<h:commandButton image="../../img/delete.png" actionListener="#{usuarioBean.deletarUsuario(usuario)}"
						 value="Excluir">
						<f:ajax  render=":form1" ></f:ajax>
					</h:commandButton>

					<h:commandButton image="../../img/editar.png"
						action="#{usuarioBean.montarUsuarioUpdate(usuario)}"
						value="Editar">
					</h:commandButton>
				</h:column>
Criado 5 de setembro de 2012
Ultima resposta 5 de set. de 2012
Respostas 10
Participantes 2