Grid y el Catálogo V2
De CidesaWiki
EL catálogo V2 tiene compatibilidad con la nomenclatura del anterior dentro del grid (para objetos fuera del grid no tiene compatibilidad).Por ejemplo, para configurar el catálogo dentro del grid, se puede hacer como anteriormente se hacía, pero se le agregó la funcionalidad de que se indicara de que campo de la tabla configurada para el catálogo se quiere traer información. Para objetos fuera del grid se debe cambiar la configuración del llamado al catálogo.
Para usarlo en el grid se hace de la misma forma que anteriormente se hacía, pero se debe agregar la información de los campos a traer del catálogo:
$columna->setCatalogo($clase,$form,$objs,$metodo)
- $clase: Esta variable contiene el nombre de la clase a partir de la cual se generará el catálogo.
- $form: Esta variable contiene el nombre del formulario (FORM) donde se encuentran los objetos a actualizar.
- $objs: Es una arreglo con los campos a actualizar. Aqui hay uno de los cambios, el arreglo debe ser de la siguiente forma:
$objs = array( 'campo1' => 2, 'campo2' => 3, 'campoN' => COLUMNA )
De esta nomenclatura tenemos lo siguiente:
Cada uno de los keys de los registros del arreglo identifica el campo en la tabla $clase que será llamado para obtener datos y colocarlos en el campo del valor del registros, por ejemplo, en la declaración anterior se llamará al campo "campo1" de la tabla $clase y se colocará en la columna 2 de la fila del grid actual.
- $metodo: es una variable con el nombre de la función que será usada para filtrar los datos a mostrar en el grid. Por ejemplo si yo quiero crear un criterio de selección en el catálogo, se debe crear una función dentro de la clase llamado "Tabla_Formulario", y este nombre debe ser pasado en la variable para que el catálogo lo llame y se cree el criterio de selección que necesitamos.
un ejemplo de la estructura de esta función sería:
public function Caordcom_Almajuoc() { // La variable columnas contiene las columnas que queremos sean mostradas en el grid $this->columnas = array (CaordcomPeer::ORDCOM => 'Código', CaordcomPeer::FECORD => 'Fecha', CaordcomPeer::DESORD => 'Descripción'); // la variable c guarda el criterio de busqueda que será usado por el pager para mostrar los datos. $this->c = new Criteria(); }
- Listo......
Luelher