Aew galera, to precisando da ajuda. Pesquisa em um monte de sites e inclusive aqui no GUJ, porem nenhum exemplo me ajudou até agora!
Galera como faço pra usar o componente p:cellEditor e depois de editado gravar no Banco de Dados? Pq o exemplo no primefaces é gravado num ArrayList.
MODELO:
public void atualizar(Grupo grupo)throws SQLException {
String sql = "UPDATE site_sae.grupo SET " +
"nome = ?, " +
"descricao = ?, " +
"matinclusao = ?, " +
"dtinclusao = ? " +
"WHERE codigo = ?;";
Connection objCon = ConexaoDAO.getConnection();
PreparedStatement pstm = null;
ArrayList lista = new ArrayList();
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyy-MM-dd");
try{
pstm = objCon.prepareStatement(sql);
pstm.setString(1,grupo.getNome());
pstm.setString(2,grupo.getDescricao());
pstm.setString(3,grupo.getMatinclusao());
pstm.setString(4,dtFormat.format(grupo.getDtinclusao()));
pstm.setInt(5,grupo.getCodigo());
pstm.execute();
}catch(Exception e){
e.printStackTrace();
}finally{
ConexaoDAO.closeConnection(objCon, null, pstm, null);
}
CONTROLE:
public String atualizar() throws GrupoDAOExeception {
GrupoDAO idao = new GrupoDAO();
try {
idao.atualizar(grupo);
grupo = new Grupo();
} catch (Exception e) {
e.printStackTrace();
}
return “”;
}
Página JSF:
<?xml version="1.0" encoding="UTF-8"?><ui:composition template="…/layouts/layoutPrincipal.xhtml"
xmlns=“http://www.w3.org/1999/xhtml”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:p=“http://primefaces.prime.com.tr/ui”>
<ui:define name="cabecalho">
<link href="#{appResources.css}/cabecalho.css" rel="stylesheet" type="text.css"/>
<ui:include src="/cabecalhoex.xhtml"/>
</ui:define>
<ui:define name="conteudo">
<h:head></h:head>
<h:form style="padding-top: 20px ; padding-left: 5px">
<p:fieldset legend="Lista dos Grupos">
<p:dataTable value="#{GrupoMB.listaGrupo}" var="grupo" rows="10" paginator="true" emptyMessage="Nenhum registro encontrado.">
<p:column style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{grupo.nome}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{grupo.nome}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Descrição">
<h:outputText value="#{grupo.descricao}"/>
</p:column>
<p:column headerText="Matricula">
<h:outputText value="#{grupo.matinclusao}"/>
</p:column>
<p:column headerText="Data">
<h:outputText value="#{grupo.dtinclusao}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="excluir"/>
</f:facet>
<p:commandButton action="#{GrupoMB.excluir}" onclick="cd.show()" update="grupo,cd,aviso" image="ui-icon ui-icon-close" title="Delete">
<f:setPropertyActionListener target="#{GrupoMB.grupo}" value="#{grupo}"/>
</p:commandButton>
</p:column>
<p:column headerText="Options">
<p:rowEditor />
</p:column>
</p:dataTable>
</p:fieldset>
</h:form>
<h:form>
<p:confirmDialog message="Tem certeza que deseja excluir o registro #{GrupoMB.grupo.nome} ?"
header = "Excluir registro" severity="alert" widgetVar="cd" showEffect="bounce" hideEffect="explode" modal="true">
<p:commandButton value ="Sim" actionListener="#{GrupoMB.excluir}" onclick="cd.hide()"
update="aviso, grupo">
</p:commandButton>
<p:commandButton value ="Não" onclick="cd.hide();" update="cd,grupo,aviso"/>
</p:confirmDialog>
</h:form>
</ui:define>
<ui:define name="rodape">
<ui:include src="/rodape.xhtml"/>
</ui:define>
</ui:composition>
