Ver Mensaje Individual
  #23 (permalink)  
Antiguo 14/10/2009, 20:20
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Importante novedad: GatorV libera su famoso Toolbox ;-)

No hay updates por ahora, y el problema es que el toolbox ha pasado a ser propietario y no lo he podido actualizar la versión "free".

Es fácil agregar un checkbox a una columna, para eso tienes precisamente el GridRenderer, checa este ejemplo:
Código PHP:
Ver original
  1. <?php
  2. class myCustom_Formatter extends Gecko_DataGrid_Formatter_Table {
  3.     public function beginRow($rowNum, $params = array()) {
  4.         parent::beginRow($rowNum, $params);
  5.        
  6.         if ($rowNum === 'header') {
  7.             $this->table->addHeader('Checkbox');
  8.             return true;
  9.         }
  10.        
  11.         $data = $this->grid->getDataSource()->getRowAt($rowNum);
  12.         $someKey = $data['someKey'];
  13.        
  14.         $enabledCheck = '<input class="enableCheck" type="checkbox" id="activado_'.$someKey.'"';
  15.         if ($data['is_enabled'] == 1) {
  16.             $enabledCheck .= ' checked="checked"';
  17.         }
  18.         $enabledCheck .= ' name="isEnabled" value="'.$someKey.'" />';
  19.         $this->table->addCell($enabledCheck);
  20.     }
  21. }

Con eso creas un checkbox al inicio de las celdas, si lo quieres hacer al final usa el método endRow en lugar de beginRow.

Luego al crear el grid, usa el formatter que hiciste en lugar del formatter por defecto, por ejemplo:
Código PHP:
Ver original
  1. $grid = new Gecko_DataGrid('test', $source);
  2. $grid->setFormatter(new myCustom_Formatter());

Saludos.