Objetos Configuración Grid

De CidesaWiki

Saltar a navegación, buscar

Estos Objetos sirven para agilizar la configuración del grid.

Este objeto contiene las siguientes funciones:


  /**
   * Estable el nombre de la cabecera de la columna
   *  
   * @param $val (string) Nombre de la cabecera 
   * @return void
   */ 
  public function setTitulo($val)
	
  /**
   * Estable la Alineación del objeto, puede ser las 
   * constantes CENTRO,IZQUIERDA o DERECHA.
   * Por defecto IZQUIERDA
   *  
   * @param $val (string) Alineación, ej. Columna::CENTRO 
   * @return void
   */ 
  public function setAlineacionObjeto($val)

  /**
   * Estable la Alineación del contenido del objeto, puede ser las 
   * constantes CENTRO,IZQUIERDA o DERECHA
   * Por defecto IZQUIERDA
   *   
   * @param $val (string) Alineación, ej. Columna::CENTRO 
   * @return void
   */ 
  public function setAlineacionContenido($val)

  /**
   * Estable el nombre del campo en la tabla que
   * contiene los datos del campo.  
   *   
   * @param $val (string) Nombre del Campo en la BD 
   * @return void
   */ 
  public function setNombreCampo($val)
	
  /**
   * Estable el tipo de objeto que es la columna
   * ej.   TEXTO, MONTO o FECHA
   *   
   * @param $val (string) Tipo de Objeto Columna::TEXTO 
   * @return void
   */ 
  public function setTipo($val)
	
  /**
   * Estable si la columna es numérica o no
   *   
   * @param $val (bool) true/false 
   * @return void
   */ 
  public function setEsNumerico($val)

  /**
   * Estable si la columna numérica debe ser totalizada,
   * y el objeto que contendrá el valor
   *   
   * @param $val (bool) true/false 
   * @param $obj Nombre del Objeto Html donde se colocara el resultado de la totalización (string) 
   * @return void
   */ 	
  public function setEsTotal($val,$obj='')
	
  /**
   * Estable el código JS que se colocará en cada objeto de la columna
   *   
   * @param $val (string) Código JS 
   * @return void
   */ 	
  public function setJScript($val)

  /**
   * Estable el código HTML adicional a ser insertado en los
   * objetos de la columna 
   *   
   * @param $val (string) Código HTML 
   * @return void
   */ 	
  public function setHTML($val)

  /**
   * Estable si los objetos de la columa deben ser guardados
   *   
   * @param $val (bool) true/false 
   * @return void
   */ 	
  public function setEsGrabable($val)
	
  /**
   * Estable si los objetos de la columna tendrán un catálogo
   * para busqueda rápida de datos
   *   
   * @param $clase (string) Nombre de la tabla/clase de donde se genera el catalogo
   * @param $form (string) Objeto html form donde estan los objetos a actualizar por el catálogo
   * @param $objadic (string) Objeto donde se colcorá la información adicional del catálogo 
   * @return void
   */ 	
  public function setCatalogo($clase,$form,$objadic=0)
  
  /**
   * Estable si los objetos de la columa deben ser guardados
   *   
   * @param $idFunc (int) Identificador del codigo a ejecutar (con respecto a la función executeAjax())
   * @param $objmost (int) Indice del objeto donde se mostrar la informacion adicional 
   * @return void
   */ 	
  public function setAjax($idFunc,$objmost)
   
  /**
   * Constructor de la columna
   *   
   * @param $val (string) Título de la columna 
   * @return void
   */ 	
  public function Columna($name) // Constructor
  
  /**
   * Obtiene el Título de la columna
   *   
   * @return string
   */ 	
  public function getTitulo()
	
  /**
   * Obtiene la alineación del Objeto
   *   
   * @return string
   */ 	
  public function getAlineacionObjeto()

  /**
   * Obtiene La alineación del contenido del objeto
   *   
   * @return string
   */ 	
  public function getAlineacionContenido()

  /**
   * Obtiene el nombre del campo en la tabla a la que hace referencia
   *   
   * @return string
   */ 	
  public function getNombreCampo()
	
  /**
   * Obtiene el tipo de objeto que contendra la columna
   *   
   * @return string
   */ 	
  public function getTipo()
	
  /**
   * Indica si la columna es o no numérica
   *   
   * @return bool
   */ 	
  public function isNumerico()

  /**
   * Indica si la columan debe ser totalizada
   *   
   * @return bool
   */ 	
  public function isTotal()
	
  /**
   * Obtiene el Objeto donde se colcará el resultado de la totalización de la columna  
   *   
   * @return string
   */ 	
  public function getObjetoTotal()
	
  /**
   * Obtiene el código JavaScript que se insertará en los objetos de la columna
   *   
   * @return string
   */ 	
  public function getJScript()

  /**
   * Obtiene el código HTML que se insertará en los objetos de la columna
   *   
   * @return string
   */ 	
  public function getHTML()

  /**
   * Indica si los objetos de la columan deben tomados en cuenta para
   * ser guardados en la base de datos.
   *   
   * @return bool
   */ 	
  public function isGrabable()
	
  /**
   * Obtiene La codificación para insertar una busqueda por catálogo
   * en los objetos de la columna 
   * 
   * @param $pos (int) Posicion de la columna donde se colocará el dato adicional
   * @return string
   */ 	
  public function getCatalogo($pos='#')

  /**
   * Obtiene La codificación para hacer el llamado a una funcion AJAX
   * en los objetos de la columna 
   *    
   * @return string
   */ 	
  public function getAjax($objcompl='#')


 /**
   * Crea una nueva columna dentro del objeto de opciones
   * Esta columna contiene los datos de configuracion
   * Cada columna nueva contiene informacion predeterminada
   *  
   * @param $name Titulo de la nueva columna
   * @return bool 
   */ 
  public function newColumna($name='')

  /**
   * Crea una nueva columna dentro del objeto de opciones
   * Esta columna contiene los datos de configuracion
   * Cada columna nueva contiene informacion predeterminada
   *  
   * @param $obj Objeto Columna
   * @return bool 
   */ 
  public function addColumna($obj)
  
  /**
   * Establece si se coloca el icono de eliminar en cada fila 
   *  
   * @param $val (bool) true/false
   * @return bool
   */ 
  public function setEliminar($val)

  /**
   * Establece el título del Grid 
   *  
   * @param $val (string) Título del Grid 
   * @return bool
   */ 
  public function setTitulo($val)

  /**
   * Establece el Nro de filas adicionales para insertar
   * nuevos datos en el grid. Por defecto 15
   *  
   * @param $val (int) Cantidad de fila nuevas 
   * @return bool
   */ 
  public function setFilas($val)

  /**
   * Establece el código HTML que se colocará al final del grid para
   * generar los objetos con los totales
   *  
   * @param $val (string) Código HTML a ser introducido al final de grid 
   * @return bool
   */ 
  public function setHTMLTotalFilas($val)

  /**
   * Establece la tabla de la cual se traen los datos del grid
   *  
   * @param $val (string) Nombre de la Tabla/Clase  
   * @return bool
   */ 
  public function setTabla($val)

  /**
   * Estable el ancho total del Grid
   *  
   * @param $val (string) Nombre de la Tabla/Clase  
   * @return bool
   */ 
  public function setAnchoGrid($val)
  
  
  /**
   * Genera el arreglo de configuracion que será enviado al GridHelper
   * 
   * @param $per (object) Arreglo de objetos/registros
   * @return array
   */ 
  public function getConfig($per)
	


$mascaraubicacion=$this->mascaraubicacion;
// $i18n = $this->getContext()->getI18N();
// Se crea el objeto principal de la clase OpcionesGrid
$opciones = new OpcionesGrid();
// Se configuran las opciones globales del Grid 
$opciones->setEliminar(true);
$opciones->setTabla('Caartalm');
$opciones->setAnchoGrid(1150);
$opciones->setTitulo('Existencia por Almacenes');
$opciones->setHTMLTotalFilas(' ');
// Se generan las columnas
$col1 = new Columna('Cod. Almacen');
$col1->setTipo(Columna::TEXTO);
$col1->setEsGrabable(true);
$col1->setAlineacionObjeto(Columna::CENTRO);
$col1->setAlineacionContenido(Columna::CENTRO);
$col1->setNombreCampo('codalm');
$col1->setCatalogo('cadefalm','sf_admin_edit_form','2');
$col1->setAjax(2,2);

$col2 = new Columna('Descripción');
$col2->setTipo(Columna::TEXTO);
$col2->setAlineacionObjeto(Columna::IZQUIERDA);
$col2->setAlineacionContenido(Columna::IZQUIERDA);
$col2->setNombreCampo('codalm');
$col2->setHTML('type="text" size="25" disabled=true');

$col3 = clone $col1;
$col3->setTitulo('Cod. Ubicacion');
$col3->setNombreCampo('codubi');
$col3->setCatalogo('cadefubi','sf_admin_edit_form','4');
$col3->setJScript('onKeyDown="javascript:return dFilter (event.keyCode, this,'.chr(39).$mascaraubicacion.chr(39).')" onKeyPress="javascript:cadena=rayaenter(event,this.value);if (event.keyCode==13 || event.keyCode==9){document.getElementById(this.id).value=cadena;}"');
$col3->setAjax(3,4);

$col4 = clone $col2;
$col4->setTitulo('Ubicación');
$col4->setNombreCampo('Nomubi');

$col5 = new Columna('Exi. Mínima');
$col5->setTipo(Columna::MONTO);
$col5->setEsGrabable(true);
$col5->setAlineacionContenido(Columna::IZQUIERDA);
$col5->setAlineacionObjeto(Columna::IZQUIERDA);
$col5->setNombreCampo('Eximin');
$col5->setEsNumerico(true);
$col5->setHTML('type="text" size="10"');
$col5->setJScript('onKeypress="entermonto(event,this.id)"');

$col6 = clone $col5;
$col6->setTitulo('Exi. Máxima');
$col6->setNombreCampo('Eximax');

$col7 = clone $col5;
$col7->setTitulo('Exi. Actual');
$col7->setNombreCampo('Exiact');
$col7->setEsTotal(true,'caregart_exitot');

$col8 = clone $col5;
$col8->setTitulo('Reorden');
$col8->setNombreCampo('Ptoreo');

// Se guardan las columnas en el objetos de opciones        
$opciones->addColumna($col1);
$opciones->addColumna($col2);
$opciones->addColumna($col3);
$opciones->addColumna($col4);
$opciones->addColumna($col5);
$opciones->addColumna($col6);
$opciones->addColumna($col7);
$opciones->addColumna($col8);
// Ee genera el arreglo de opciones necesario para generar el grid
$this->obj = $opciones->getConfig($per);

NOTA: la funcion clone es de php, y se encarga de generar un objeto a partir de otro copiando los datos que este tiene.

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas