Grid
De CidesaWiki
(3 ediciones intermedias no se muestran.) | |||
Línea 9: | Línea 9: | ||
Luego creamos el arreglo de objetos resultante de nuestra consulta sql, esto estaría en el actions.class de nuestra forma: | Luego creamos el arreglo de objetos resultante de nuestra consulta sql, esto estaría en el actions.class de nuestra forma: | ||
<pre> | <pre> | ||
- | $c = new Criteria(); | + | $c = new Criteria(); |
- | $c->add( | + | $c->add(ForpryorgpubPeer::CODPRO,$this->fordefpry->getCodpro()); |
- | $ | + | $per = ForpryorgpubPeer::doSelect($c); |
- | + | ||
- | + | ||
</pre> | </pre> | ||
Línea 19: | Línea 17: | ||
-------------------------------------------------------------- | -------------------------------------------------------------- | ||
- | Luego en el | + | Luego en el editSuccess de la forma en la que estamos trabajando, agregar el helper "Grid": |
<pre> | <pre> | ||
- | <?php use_helper('Grid') | + | <?php use_helper('Object', 'Validation', 'ObjectAdmin', 'I18N', 'Date', 'tabs', 'Javascript', 'PopUp', 'Grid') ?> |
</pre> | </pre> | ||
-------------------------------------------------------------- | -------------------------------------------------------------- | ||
Línea 35: | Línea 33: | ||
</pre> | </pre> | ||
---------------------------------------------------------------- | ---------------------------------------------------------------- | ||
- | |||
- | + | Pasar al _edit_form.php la variable $obj a través del editSuccess de la siguiente forma: | |
- | + | ||
- | + | <pre> | |
- | + | | | |
- | + | -------------- | |
- | + | | | | |
- | + | <?php include_partial('fordefproyecto/edit_form', array('fordefpry' => $fordefpry, 'labels' => $labels, 'obj' => $obj)) ?> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</pre> | </pre> | ||
- | + | La configuración al Grid, se tiene que agregar en el action.class.php: | |
- | |||
- | + | <pre> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | $ | + | public function configGrid() |
- | $ | + | { |
- | $ | + | $c = new Criteria(); |
- | + | $c->add(ForpryorgpubPeer::CODPRO,$this->fordefpry->getCodpro()); | |
- | $ | + | $per = ForpryorgpubPeer::doSelect($c); |
- | $ | + | |
- | $ | + | $opciones = new OpcionesGrid(); |
- | $ | + | $opciones->setEliminar(true); |
- | + | $opciones->setTabla('forpryorgpub'); | |
- | $ | + | $opciones->setAnchoGrid(500); |
- | $ | + | $opciones->setTitulo(''); |
- | $ | + | $opciones->setHTMLTotalFilas(' '); |
- | + | ||
- | + | $col1 = new Columna('Código'); | |
- | $ | + | $col1->setTipo(Columna::TEXTO); |
- | $ | + | $col1->setEsGrabable(true); |
- | $ | + | $col1->setAlineacionObjeto(Columna::CENTRO); |
- | $ | + | $col1->setAlineacionContenido(Columna::CENTRO); |
- | $ | + | $col1->setNombreCampo('codorg'); |
- | $ | + | $col1->setCatalogo('fordeforgpub','sf_admin_edit_form',array(2)); |
- | $opciones->addColumna($ | + | $col1->setAjax('fordefproyecto',1,2); |
- | $opciones->addColumna($ | + | |
- | + | $col2 = new Columna('Descripción'); | |
- | $this->obj = $opciones->getConfig($per); | + | $col2->setTipo(Columna::TEXTO); |
+ | $col2->setAlineacionObjeto(Columna::IZQUIERDA); | ||
+ | $col2->setAlineacionContenido(Columna::IZQUIERDA); | ||
+ | $col2->setNombreCampo('nomorg'); | ||
+ | $col2->setHTML('type="text" size="25" disabled=true'); | ||
+ | |||
+ | $opciones->addColumna($col1); | ||
+ | $opciones->addColumna($col2); | ||
+ | |||
+ | $this->obj = $opciones->getConfig($per); | ||
+ | |||
+ | } | ||
</pre> | </pre> |
Última versión de 14:12 29 jun 2007
Code provided by Miki && Luelher.
Para comenzar deben revisar:
1.- Si tienen en su /siga/lib la carpeta /helper y dentro de esa el archivo GridHelper.php. 2.- Si en /siga/web/js se encuentra el archivo tools.js 3.- Si en /siga/web/images/ se encuentra el archivo delete.png
Luego creamos el arreglo de objetos resultante de nuestra consulta sql, esto estaría en el actions.class de nuestra forma:
$c = new Criteria(); $c->add(ForpryorgpubPeer::CODPRO,$this->fordefpry->getCodpro()); $per = ForpryorgpubPeer::doSelect($c);
Entonces le pasamos al edit_form nuestro objeto "$this->per" a traves del edit_success
Luego en el editSuccess de la forma en la que estamos trabajando, agregar el helper "Grid":
<?php use_helper('Object', 'Validation', 'ObjectAdmin', 'I18N', 'Date', 'tabs', 'Javascript', 'PopUp', 'Grid') ?>
Hacemos el llamado del helper donde queramos colocarlo. En este ejemplo seria en _edit_form.php luego de los objetos principales y antes de los botones de guardar los datos.
<form name="form1" id="form1"> <? echo grid_tag($obj); ?> </form>
Pasar al _edit_form.php la variable $obj a través del editSuccess de la siguiente forma:
| -------------- | | <?php include_partial('fordefproyecto/edit_form', array('fordefpry' => $fordefpry, 'labels' => $labels, 'obj' => $obj)) ?>
La configuración al Grid, se tiene que agregar en el action.class.php:
public function configGrid() { $c = new Criteria(); $c->add(ForpryorgpubPeer::CODPRO,$this->fordefpry->getCodpro()); $per = ForpryorgpubPeer::doSelect($c); $opciones = new OpcionesGrid(); $opciones->setEliminar(true); $opciones->setTabla('forpryorgpub'); $opciones->setAnchoGrid(500); $opciones->setTitulo(''); $opciones->setHTMLTotalFilas(' '); $col1 = new Columna('Código'); $col1->setTipo(Columna::TEXTO); $col1->setEsGrabable(true); $col1->setAlineacionObjeto(Columna::CENTRO); $col1->setAlineacionContenido(Columna::CENTRO); $col1->setNombreCampo('codorg'); $col1->setCatalogo('fordeforgpub','sf_admin_edit_form',array(2)); $col1->setAjax('fordefproyecto',1,2); $col2 = new Columna('Descripción'); $col2->setTipo(Columna::TEXTO); $col2->setAlineacionObjeto(Columna::IZQUIERDA); $col2->setAlineacionContenido(Columna::IZQUIERDA); $col2->setNombreCampo('nomorg'); $col2->setHTML('type="text" size="25" disabled=true'); $opciones->addColumna($col1); $opciones->addColumna($col2); $this->obj = $opciones->getConfig($per); }
Leyenda: (*) Sin tomar en cuenta la columna "Eliminar", ésta se crea automaticamente y con unos valores estaticos
Nota: para agregar alguna funcion js adicional al grid, esta debera ser colocada en el edit_form en el que estas trabajando y debe ser llamada a traves del arreglo $js que le pasamos al grid_tag.
Si desea obtener mas información sobre los objetos de configuración para el grid puede ir al siguiente enlace Objetos Configuración Grid