jmoordbtaller
  • Introducción
  • Requisitos
  • Dependencias
  • Repositorios de proyectos
  • Arquitectura
  • Taller 0. Instalar Java
    • Configurar maven
  • Taller 1 MongoDB
  • Taller 2 CRUD MongoDB
    • Insertar documentos
    • Consulta de documentos
    • Documento embebido
    • Eliminar Documentos
    • Actualizar documentos
    • Agregaciones
    • Crear un indice
  • Taller 3 EJB
    • Crear el proyecto ejb
    • Dependencias
    • Entity
    • Repository
  • Taller 4 Java EE 8
    • dependencias
    • Controller
    • new.xhtml
    • index.hxmtl
    • Ampliar el método save()
    • ejecutar proyecto
    • datatable
    • CommandLink
  • Taller 5- Verificar si existe al guardar
  • Taller 6-Bases datos en tiempo de ejecución e Historial de revisión
  • Taller 7. Aplicar temas
  • Taller 8. Eliminar
  • Taller 9- Editar
  • Taller 10. Historial de revisiones
  • Taller 11.Conocer la llave primaria y el valor en tiempo de ejecucion
  • Taller 12. UserInfo
    • Controller
  • Taller 13. Converter/DataModel/Services
    • Services
    • Converter
    • DataModel
  • Taller 14.Autocomplete
    • Componente autocompletepersona
    • Agregar el componente al list.xhtml
  • Taller 15. Paginacion
    • Pais en Proyecto ejb
    • Pais en Proyecto Web
      • Formularios list.xhmtl, new.xhtml, view.xhtml
      • <e:autocompletepais/>
      • <e:paginator>
    • PaisController.java
      • Metodos
        • init()
        • save()
        • delete()
        • edit()
        • handleAutocompleteOfListXhtml()
        • showAll()
        • move(Integer page)
        • searchBy()
        • prepare
        • desplazarse en las paginas
          • printAll()
          • clear()
        • Codigo Completo
        • index.xhtml
  • Parte II- Avanzado
    • Taller 16. crudejb
      • Agregar dependencias
      • Entity
        • Rol.java
        • Usuario.java
      • Repository
      • Services
      • Datamodel
      • Converter
    • Mongodb
      • Insertar documentos en la colección MongoDB
    • Capitulo 17. Arquetipos
      • Crear el proyecto en base al arquetipo
    • Taller 18. Crear proyecto Web
      • Dependencias
      • web.xml
      • Java EE 8 Security
        • ApplicationConfig.java
        • CustomInMemoryIdentityStore.java
      • properties
      • template
        • footer.xhtml
        • template.xhtml
        • top.xhtml
      • resources
      • index.xhtml
      • login
        • login.xhtml
        • LoginController.java
        • Codigo completo
      • Controller
        • Validar duplicados en un autocomplete multiple
        • RolController.java
        • UsuarioController.java
      • <jmoordbjsf:autocomplete>
      • <jmoordbjsf:search>
      • <jmoordbjsf:paginator>
      • <jmoordbjsf:yesno>
      • <jmoordbjsf:toolbarsave>
      • <jmoordbjsf:toolbarview>
      • pages
        • Rol
          • new.xhtml
          • view.xhtml
        • Usuario
          • new.xhtml
          • view.xhtml
    • Ejecutar el proyecto
  • Parte III-Crear una aplicacion web en base al arquetipo
    • Crear el proyecto
    • Editar el proyecto
    • Editar LoginController
    • Editar los paquetes y clases
    • Indicar la conexion a base de datos
    • Ejecutar el proyecto
  • Parte IV. Reportes con jmoordbreport
    • SubReporte Referenciado de Usuario
  • Parte V. Backup/Restore con jmoordbbackup
  • Parte VII Email
Powered by GitBook
On this page

Was this helpful?

Taller 8. Eliminar

En este taller creamos los métodos para eliminar desde el datatable

Agregar a PersonaController.java el método delete

public String delete(Object item, Boolean deleteonviewpage) {
        String path = "";
        try {
            persona = (Persona) item;
         
            if (personaRepository.delete("cedula", persona.getCedula())) {
  
                repositoryRevisionHistory.save(revisionHistoryServices.getRevisionHistory(persona.getCedula(), 
                        "myusername",
                        "delete", "persona", personaRepository.toDocument(persona).toString()));
                JsfUtil.successMessage("Se elimino la persona");

                if (!deleteonviewpage) {
                    personaList.remove(persona);
   
                } else {
                    persona = new Persona();
                
                }

            }

        } catch (Exception e) {
            JsfUtil.errorDialog("delete()", e.getLocalizedMessage());
        }
     
        return "";
    }// </editor-fold>

En el datatable creamos un botón para eliminar

  <p:column>
                         <p:commandButton 
                                            
                                             icon="fa-trash-o" 
                                             value="Eliminar" 

                                             process=":form:datatable" 
                                             action="#{personaController.delete(item,false)}" 
                                             update=":form:datatable, :form:msg" > 

                            </p:commandButton>
                    </p:column>

al darle clic en el boton eliminar

Podemos revisar el historial

list.xthml

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<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:p="http://primefaces.org/ui" 
      xmlns:b="http://bootsfaces.net/ui" xmlns:e="http://xmlns.jcp.org/jsf/composite/extensions">

    <f:view contentType="text/html">
        <h:head>
            <f:facet name="first">
                <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
                <title>PrimeFaces</title>
            </f:facet>
        </h:head>

        <h:body>


            <h:form  id="form" prependId="true">
                
                <b:panelGrid colSpans="1,4,1,6"  columns="4" size="xs"> 



                    <p:outputLabel value="Cedula"/>
                    <e:autocompletepersona listener="#{personaController.handleAutocompleteOfListXhtml}"
                                                  value="#{personaController.personaSelected}"
                                                  itemLabel=" #{p.cedula}"
                                                  field="cedula"
                                                  update=" :form:datatable"/>

                    <p:outputLabel value="Nombre"/>
                      <e:autocompletepersona listener="#{personaController.handleAutocompleteOfListXhtml}"
                                                value="#{personaController.personaSelected}"
                                                itemLabel=" #{p.nombre}"
                                                field="nombre"
                                                update=" :form:datatable"/>
                  
                      
                      

                </b:panelGrid>
                
                <p:messages  id="msg"/>
                <p:dataTable value="#{personaController.personaList}"
                             var="item"
                             id="datatable"
                             >
                    <f:facet name="header">
                        <p:commandButton value="Todos" action="#{personaController.showAll()}"
                                         update=":form:datatable"/>
                    </f:facet>
                    <p:column headerText="Cedula">
                        <p:outputLabel value="#{item.cedula}"/>
                    </p:column>
                    <p:column headerText="Nombre">
                        <p:outputLabel value="#{item.nombre}"/>
                    </p:column>
                    <p:column headerText="Edad">
                        <p:outputLabel value="#{item.edad}"/>
                    </p:column>
                    <p:column>
                         <p:column>

                    <b:commandButton                 
                        style="margin-bottom:10px;"
                        iconAwesome="fa-edit" 
                                         title="Editar"
                        immediate="true"
                        look="primary"
                        action= "#{personaController.prepareView}" 
                        >

                      
                    </b:commandButton>
                </p:column>
                    </p:column>
                    <p:column>
                        <p:commandButton                                             
                            icon="fa-trash-o" 
                            value="Eliminar" 
                            process=":form:datatable" 
                            action="#{personaController.delete(item,false)}" 
                            update=":form:datatable, :form:msg" > 

                        </p:commandButton>
                    </p:column>
                    <p:column>
                        <p:commandButton                                             
                            icon="fa-trash-o" 
                            value="Editar" 
                            process=":form:datatable" 
                            action="#{personaController.prepare(item)}" 
                            update=":form:datatable, :form:msg" > 

                        </p:commandButton>
                    </p:column>
                    
                  
                </p:dataTable>

                <p:commandLink value="new" action="new"/>
                <br></br>
                <p:commandLink value="index" action="index"/>
            </h:form>


        </h:body>

    </f:view>
</html>
PreviousTaller 7. Aplicar temasNextTaller 9- Editar

Last updated 6 years ago

Was this helpful?