Configurar subGrids

En esta guía podrás conocer los parámetros básicos para configurar este componente.

Que son?

Una subgrilla muestra información (registros en una tabla secundaria) relacionada a UN registro de la tabla principal.

Para continuar con nuestro ejemplo hemos creado una nueva tabla sys_publ_03_det_sucursales_clientes de la siguiente forma:


Así las tablas a usar serán

  1. La grilla (tabla principal) muestra información de los CLIENTES (idFlex: id_syspubl01)
  2. La subgrilla (tabla secundaria) deberá mostrar las SUCURSALES de cada cliente (idFlex: id_syspubl03)

Configuración Básica

NOTA: Existe una plantilla de módulo completo, con todos los archivos necesarios. A modo de simplificación, seguiremos con el ejemplo del módulo clientes, agregando los archivos que sean necesarios.


Para generar una grilla con subrilla deberás:

  1. Crear un archivo a partir de la plantilla: Clic derecho sobre la carpeta php > clic sobre "Nuevo archivo desde Plantilla" > "ver_grid_rela.php"
  2. Completar el formulario de la siguiente manera:

    En el formulario para generar el archivo, el campo "Campo Relacionado" debe ser completado con el campo en la base de datos que une ambas tablas. Por ejemplo, rela_syspubl01 (este campo estará en la tabla secundaria, en este ejemplo, en la tabla sucursales).
  3. En grid de la tabla principal, se deberá agregar un "action" (show) con la url completa del subgrid. Puedes usar el fragmento flexGrid > actions > showSubGrid (sección Fragmentos, a la derecha de la pantalla)
  4. Abrir el archivo creado y tomarlo
  5. En la configuración general de la tabla secundaria recibe el ID (número identificador único) del registro de la tabla principal como una variable POST. Con este variable, se estable un FILTRO FIJO utilizando las opciones queryDefault y qtypeDefault



Esto permite "filtrar" los registros de la tabla "sucursales", de modo tal de visualizar SOLO los registros relacionados al CLIENTE seleccionado.

La consulta a la base de datos tendrá este where:


Formularios Asociados

Una vez configurado la subgrilla (con las columnas, botones y acciones), deberás crear el archivo para agregar o editar los registros de esta nueva tabla (la tabla asociada, sys_publ_03_det_sucursales_clientes. 

  1. Crear un archivo a partir de la plantilla: Clic derecho sobre la carpeta php > clic sobre "Nuevo archivo desde Plantilla" > "ver_form_rela.php"
  2. Completar el formulario de la siguiente manera:
    En el formulario para generar el archivo, el campo "Campo Relacionado" debe ser completado con el campo en la base de datos que une ambas tablas. Por ejemplo, rela_syspubl01 (este campo estará en la tabla secundaria, en este ejemplo, en la tabla sucursales).
  3. Configurar el flexForm (recuperar campos de la BD y configurar fieldList)
  4. Al abrir el formulario (desde la grilla secundatio), el framework enviará como variable POST, el "nombre del campo relacionado" con el valor preestablecido. Por ejemplo rela_syspubl01=1.

  5. En el "field list" del formulario (generado automáticamente por la plantilla), podrán dos campos:
    • El id de la tabla secundaria. En este ejemplo: id_syspubl03
    • El campo relacionado a la tabla principal. rela_syspubl01


De esta forma, el formulario permitirá agregar o editar registros(sucursales) asociados a la tabla CLIENTES.