jakartaee
  • Introduction
  • JakartaEE
    • Especificaciones
    • Proyecto JakartaEE9
    • Template Material top
  • Payara Community Server
  • GlassFish Server
    • Instalar GlassFish
    • Actualizar Password
    • Agregar GlassFish A NetBeans
  • JPA
    • Desabilitar Cache
    • Paginacion MySQL
    • Contador @ManyToOne
    • Paginación OracleDB con Atributos simples
  • JmoordbFaces
  • Tools
    • Herramientas de desarrollo
  • NoSQL
    • MongoDB
    • Instalar
    • jMoordb
    • script backup
  • EJB
    • Dependencias
    • Esquema EJB
    • Entity
    • Repository
    • Converter
    • DataModel
    • Services
    • Rules para eliminar
  • EE
    • Dependencias
    • Dashboard
    • Template
    • Personalizar Template
    • Properties
  • list Esquema
    • Introduccion list
    • Simple con autocomplete <Rol> list
    • Maestro <Agente> list
    • Detalle (Maestro-Detalle)<Permiso> list
  • new Esquema
    • Introduccion
    • Simple con autocomplete <Rol>
    • Maestro <Agente>
    • Detalle (Maestro-Detalle)<Permiso>
  • view Esquema
    • Introduccion a view
    • Simple con autocomplete <Rol> view
    • Maestro <Agente> view
    • Detalle (Maestro-Detalle)<Permiso> view
  • Componentes
    • <a:calendar>
    • <a:calendar> con Formatos
    • <a:calendar> con eventos
    • <a:date>
    • <a:yesno>
    • <a:noyes>
    • inputtext
    • email
    • selectOneMenu
    • selectOneMenu>
    • <a:sexo>
  • Search
    • searchBy(String field)
    • Búsqueda entre Fechas
  • Controller
    • clear
    • constructor
    • definicion compuesta
    • delete
    • deleteall
    • edit
    • explicacion de metodos controller
    • field simple
    • getset
    • init
    • introduccion controller
    • isnew
    • prepare
    • print
    • printall
    • reset
    • save
    • showall
    • searchBy
    • move
    • handle
  • paginas
    • nodisponible.xhtml
  • ejemplos de controller
    • agentecontroller.java
    • diasfestivoscontroller.java
    • loginController.java
    • permisocontroller.java
    • rolcontroller.java
    • tamanocontroller.java
    • usuariocontroller.java
  • chapter1
    • bluetemplate
    • especificaciones
    • frameworks
    • templates
    • poseidon primefaces
  • bootfaces template
    • Bootfaces template
    • clonar
  • paginacion
    • last
    • move
    • next
    • first
    • skip(Integer page)
  • Eventos
    • Implementar eventos
  • Sugerencias
Powered by GitBook
On this page
  • Esquema
  • Código

Was this helpful?

  1. list Esquema

Maestro <Agente> list

PreviousSimple con autocomplete <Rol> listNextDetalle (Maestro-Detalle)<Permiso> list

Last updated 6 years ago

Was this helpful?

Es un list maestro de èl depende un detalle (Maestro-Detalle)

  • Agente se usa como maestro para Permiso

  • Aquí creamos un nuevo componente <e:columnAgente>

  • Puede contener autocomplete o los search.

Esquema

   <b:form id="form">
            <b:growl id="msgs"/>
     <b:panel title="#{app['label.search']}" id="content"> 
         <b:panelGrid colSpans="1,4,1,6"  columns="4" size="xs"> 
            <p:outputLabel/>
            <e:autocompleteEntity/>
             <b:commandButton/>
         </b:panelGrid>
                   <b:row>
                    <b:column medium-screen="4">
                        <a:search />                                  />
                    </b:column>
                    <b:column medium-screen="8">
                        <a:searchDate   />
                    </b:column>
                </b:row>
                <b:row>
                    <b:column medium-screen="25" >
                        <a:searchBetweenDate   />
                    </b:column>
                </b:row>

             </b:panel>

     <b:panel id="dataTable">
        <a:paginator/>
        <b:dataTable>
            <b:dataTableColum/>
            <b:dataTableColum>
                <a:column/>
                                           <e:columnEntity>{ se crean otros botones personalizados}
            </b:dataTableColumn>
        </b:dataTable>
    </b:panel>   
</b:form>
<a:denegado>

Código

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<ui:composition template="/layout/template.xhtml" 
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:b="http://bootsfaces.net/ui"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                xmlns:a="http://xmlns.jcp.org/jsf/composite/avbravo"
                xmlns:e="http://xmlns.jcp.org/jsf/composite/extensions">
    <ui:define name="content">
        <!--<h:outputStylesheet library="bsf" name="css/thumbnails.css"/>-->

        <style>
            .thumbnail { max-width: 100%; }
            img.thumbnail:hover, img.thumbnail:focus {
                border: 1px solid;
                border-color: #428BCA;
            }
        </style>
        <h1>#{msg['titlelist.agente']}</h1>
        <hr/>
         <b:form id="form"  prependId="false"  rendered="#{loginController.loggedIn and applicationMenu.agente.list}" onkeypress="if (event.keyCode == 13) {
                    return false;
                }">

            <b:growl id="msgs"/>
            <b:panel title="#{app['label.search']}"  id="content"> 
                <!--<b:panelGrid colSpans="2,10" size="xs">--> 
                <b:panelGrid colSpans="1,4,1,6"  columns="4" size="xs"> 


                    <p:outputLabel value="#{msg['field.idagente']}"/>
                    <e:autocompleteagente listener="#{agenteController.handleSelect}"
                                                  value="#{agenteController.agenteSelected}"
                                                  itemLabel="#{p.idagente}"
                                                  field="idagente"
                                                  update=":form:dataTable"/>

                    <p:outputLabel value="#{msg['field.agente']}"/>
                      <e:autocompleteagente listener="#{agenteController.handleSelect}"
                                                value="#{agenteController.agenteSelected}"
                                                itemLabel=" #{p.nombre}"
                                                field="nombre"
                                                update=":form:dataTable"/>

                </b:panelGrid>
            </b:panel>
            <b:panel id="dataTable">
                <a:paginator 
                     clear="#{agenteController.clear()}"
                    first="#{agenteController.first()}"
                    back="#{agenteController.back()}"
                    next="#{agenteController.next()}"
                    last="#{agenteController.last()}"
                    page="#{agenteController.page}"
                    pages="#{agenteController.pages}"
                   skip="ajax:agenteController.skip(agenteController.page)"

                    new="#{agenteController.prepare('gonew',agenteController.agente)}"
                    printAll="#{agenteController.printAll()}"
                    />
                <b:dataTable value="#{agenteController.agenteDataModel}"
                             var="item"
                             id="dataTable2"
                             paginated="false"
                             onpage="console.log('page');">
                    <b:dataTableColumn value="#{item.idagente}" label="#{msg['field.idagente']}"/>
                    <b:dataTableColumn value="#{item.nombre}" label="#{msg['field.agente']}" />
                    <b:dataTableColumn value="#{item.siglas}" label="#{msg['field.siglas']}" />
                    <b:dataTableColumn  label="#{msg['field.fechanacimiento']}" >
                        <a:labelDate value="#{item.fechanacimiento}"/>
                    </b:dataTableColumn>
                    <b:dataTableColumn value="#{item.activo}" label="#{msg['field.activo']}" />

                    <b:dataTableColumn label="">
                        <a:column                           
                            edit="#{agenteController.prepare('view',item)}"
                            delete="#{agenteController.delete(item,false)}"
                            rendered="#{applicationMenu.agente.delete}"
                            />
                    </b:dataTableColumn>
                    <b:dataTableColumn label="">
                        <e:columnAgente   
                            rendered="#{applicationMenu.agente.edit}"
                            vacacion="#{agenteController.prepare('govacacion',item)}"
                           permiso="#{agenteController.prepare('gopermiso',item)}"                                                   
                            />
                    </b:dataTableColumn>
                </b:dataTable>
            </b:panel>           
        </b:form>

        <a:denegado renderedcondition="#{!loginController.loggedIn or !applicationMenu.agente.list}" />
    </ui:define>
</ui:composition>