Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all articles
Browse latest Browse all 759

Update p:datatable

$
0
0

@hamilton.mateus escreveu:

Alo galera me ajude aeeeeee.

Estou tentando fazer actualizacao de dados na base de dados de uma tabela feita no primefaces o codigo nao da erro ele apenas nao actualiza da pra me ajudar aeeeee por favor!?

Minha view

<?xml version="1.0" encoding="UTF-8" ?>

<html 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"
xmlns:fn="http://java.sun.com/jsp/jstl/functions">



Actualizar Eventos

<ui:define name="conteudo">
	<h:form id="formulario">
		<p:growl id="msgs" showDetail="true" autoUpdate="true" />

		<p:fieldset legend="Actualizar Eventos">
			<p:dataTable id="tabelaeventos" value="#{eventoBean.eventosModel}"
				var="evento" editable="true" editMode="cell"
				paginator="true" rows="10">
				<f:facet name="header">
       			Tabela de actualizacao de eventos
   			</f:facet>

				<p:ajax event="cellEdit" immediate="true"
					listener="#{eventoBean.onCellEdit}"
					update=":formulario:tabelaeventos :formulario:msgs" process="@this"/>

				<p:column headerText="Nome">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{evento.nomeEvento}" />
						</f:facet>
						<f:facet name="input">
							<p:inputText id="modelInput" value="#{evento.nomeEvento}"
								style="width:96%" immediate="true"
								validatorMessage="O nome nao pode ser superior a 40 caracteres"
								required="true">
								<f:validateLength maximum="40" />
								<f:ajax event="blur" />
							</p:inputText>
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Descricao">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{evento.descricaoEvento}" />
						</f:facet>
						<f:facet name="input">
							<p:inputText value="#{evento.descricaoEvento}" style="width:96%"
								label="Descricao" immediate="true" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Data Inicio">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{evento.dataEventoInicio.time}">
								<f:convertDateTime pattern="dd/MM/yyy" timeZone="Africa/Harare" />
							</h:outputText>
						</f:facet>
						<f:facet name="input">
							<p:calendar id="dataEventoInicio"
								value="#{evento.dataEventoInicio.time}" style="width:96%"
								label="Data Fim" immediate="true" pattern="dd/MM/yyyy"
								timeZone="Africa/Harare" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Data Fim">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{evento.dataEventoFim.time}">
								<f:convertDateTime pattern="dd/MM/yyy" timeZone="Africa/Harare" />
							</h:outputText>
						</f:facet>
						<f:facet name="input">
							<p:calendar id="dataEventoFim"
								value="#{evento.dataEventoFim.time}" style="width:96%"
								label="Data Fim" immediate="true" pattern="dd/MM/yyyy"
								timeZone="Africa/Harare" />
						</f:facet>
					</p:cellEditor>
				</p:column>



				<f:facet name="footer">
					<h:outputText value="Existem " />
					<h:outputText value="#{fn:length(eventoBean.listaEventos)}" />
					<h:outputText value=" eventos cadastrados." />
				</f:facet>
			</p:dataTable>
		</p:fieldset>
	</h:form>
</ui:define>

Meu metodo onCellEdit

public void onCellEdit(CellEditEvent event) {

	Object oldValue = event.getOldValue();
	Object newValue = event.getNewValue();
	
	System.out.println("Antigo: " + oldValue + " Novo: " + newValue);
	
	if (newValue != null && !newValue.equals(oldValue) && newValue.toString().length() < 40) {

		if (event.getColumn().getHeaderText().equalsIgnoreCase("Nome")) {
			this.evento.setNomeEvento(newValue.toString());
		} else if (event.getColumn().getHeaderText().equalsIgnoreCase("Descricao")) {
			this.evento.setDescricaoEvento(newValue.toString());
		}

		new DAO<Evento>(Evento.class).atualiza(this.evento);
		this.evento = new Evento();

		FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Actualizado",
				"Antigo: " + oldValue + ", Novo: " + newValue);
		FacesContext.getCurrentInstance().addMessage(null, msg);

		listaEventosFiltradosPeloNome = new DAO<Evento>(Evento.class).filtrarEventoPeloNome(pegarUsuarioDaSessao());
	}
}

## Metodo na classe DAO para actualizar na base de dados

    public void atualiza(T t) {
		EntityManager em = new JPAUtil().getEntityManager();
		em.getTransaction().begin();

		em.merge(t);

		em.getTransaction().commit();
		em.close();
	}

Meu Metodo da classe dao

	public void atualiza(T t) {
	EntityManager em = new JPAUtil().getEntityManager();
	em.getTransaction().begin();

	em.merge(t);

	em.getTransaction().commit();
	em.close();
}

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 759

Trending Articles


Girasoles para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Tagalog Quotes About Crush – Tagalog Love Quotes


OFW quotes : Pinoy Tagalog Quotes


Long Distance Relationship Tagalog Love Quotes


Tagalog Quotes To Move on and More Love Love Love Quotes


5 Tagalog Relationship Rules


Best Crush Tagalog Quotes And Sayings 2017


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Sapos para colorear


tagalog love Quotes – Tiwala Quotes


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Patama Quotes : Tagalog Inspirational Quotes


Pamatay na Banat and Mga Patama Love Quotes


Tagalog Long Distance Relationship Love Quotes


BARKADA TAGALOG QUOTES


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>