Plantillas Primefaces JSF
  • Introduction
  • Proyecto JEE
    • Introduccion
    • POSEIDON
    • Descomprimir template
    • Proyecto JEE
    • Dependencias
    • Sources
    • Ejecutar proyecto
    • TEMPLATE RESPONSIVE
    • Plantilla Bootfaces
      • Introduction
      • Plantilla
        • Clonar Template
        • Proyecto EJB
        • Proyecto Web
        • template base
        • top
        • footer.xhtml
        • Properties
        • Roles
        • Util
        • template base
        • page
  • Capitulo II. Crear EJB
    • MongoDB
    • Proyecto EJB
    • Dependencias
    • Paquetes
    • Provider
    • Entity
    • Repository
    • Converter
    • Services
    • Datamodel
  • Capitulo III. Configuracion
    • Paquetes
    • Util
    • Properties
    • Template
    • Footer
    • Logo
    • Componentes
  • Capitulo IV. Login
    • Dependencias ejb
    • Roles
    • ApplicationMenu
    • RolAdministrador
    • ValidadorRoles
    • LoginController
    • Login.xhtml
  • Capitulo V. Menu
    • Menu
  • Capitulo VI Controller
    • Controller Simple
    • Implementar IController
    • Colapsar Codigo
    • Atributos
    • GetPages
    • Init
    • Reset
    • Prepare
    • ShowAll
    • IsNew
    • Save
    • Edit
    • Delete
    • Print
    • handleSelected
    • Paginacion
    • Codigo Completo
  • Capitulo VII Formularios
    • Carpetas
    • list.xhtml
    • new
    • view
  • Capitulo X Referenciados y Embebidos
    • Referenciados
  • Plantilla Bootfaces
    • Untitled
Powered by GitBook
On this page
  • Documentos Referenciados
  • Definir los Entity
  • Controller
  • Formularios:
  • new.xthml, view.xhtml
  • Segmento de codigo del autocomplete
  • List.xhtml

Was this helpful?

  1. Capitulo X Referenciados y Embebidos

Referenciados

PreviousviewNextUntitled

Last updated 6 years ago

Was this helpful?

Documentos Referenciados

Muchas ocasiones deseamos referenciar dos documentos, en los formularios usaremos un <p:autocomplete> para obtener el documento referenciado.

Definir los Entity

Grupoarticulo

@Getter
@Setter
public class Grupoarticulo {

    @Id
    private String idgrupoarticulo;
    private String descripcion;
    private Double porcentajeventapublico;
    private Double porcentajeventacredito;
    private Integer redondeodecimales;
    private String activo;

    @Embedded
    private List<UserInfo> userInfo;

    public Grupoarticulo() {
    }

    @Override
    public String toString() {
        return "Grupoarticulo{" + "idgrupoarticulo=" + idgrupoarticulo + ", descripcion=" + descripcion + '}';
    }

}

Modelo

@Setter
public class Modelo {

    @Id
    private String idmodelo;
    private String descripcion;
    @Referenced(documment = "Grupoarticulo", repository = "com.avbravo.ejbspard.ejb.GrupoarticuloRepository",
            field = "idgrupoarticulo",javatype = "String",lazy = false)
    private Grupoarticulo grupoarticulo;
    private String activo;


 @Embedded
    private List<UserInfo> userInfo;

    public Modelo() {
    }
 }

Controller

Agregar el services del entity referenciado y generar los get/set. Se usuaran para el autocomplete.

    @Inject
GrupoarticuloServices grupoarticuloServices;

 public GrupoarticuloServices getGrupoarticuloServices() {
        return grupoarticuloServices;
    }

    public void setGrupoarticuloServices(GrupoarticuloServices grupoarticuloServices) {
        this.grupoarticuloServices = grupoarticuloServices;
    }

Formularios:

new.xthml, view.xhtml

Agregar el autocomplete.

Segmento de codigo del autocomplete

<p:outputLabel  value="#{msg['field.grupoarticulo']}"/>
                                <p:autoComplete scrollHeight="250" dropdown="false" size="50"
                                                emptyMessage="#{app['info.nohayregistros']}"
                                                value="#{modeloController.modelo.grupoarticulo}"
                                                completeMethod="#{modeloController.grupoarticuloServices.complete}"
                                                var="p" itemLabel="#{p.descripcion}" itemValue="#{p}" forceSelection="true"> 
                                    <f:converter binding="#{grupoarticuloConverter}"/>
                                    <f:attribute name="field" value="descripcion" />

                                </p:autoComplete>

List.xhtml

Colocar en la columna un atributo que describa al documento referenciado,

    <p:column headerText="#{msg['field.grupoarticulo']}" 
                      sortBy="#{item.grupoarticulo.descripcion}"  filterMatchMode="contains" >
                   <h:outputText value="#{item.grupoarticulo.descripcion}" />
     </p:column>