Ejemplo n.º 1
0
 /**
  * Add a column
  * @param $label  Field Label
  * @param $object Field Object
  * @param $size   Field Size
  */
 public function addQuickColumn($label, $name, $align = 'left', $size = 200, TAction $action = NULL, $param = NULL)
 {
     // creates a new column
     $object = new TDataGridColumn($name, $label, $align, $size);
     if ($action instanceof TAction) {
         // create ordering
         $action->setParameter($param[0], $param[1]);
         $object->setAction($action);
     }
     // add the column to the datagrid
     parent::addColumn($object);
     return $object;
 }
Ejemplo n.º 2
0
 /**
  * 
  */
 public function makeTDataGrid($properties)
 {
     $table = new TTable();
     $widget = new TDataGrid();
     $widget->setHeight((string) $properties->{'height'});
     if ($properties->{'columns'}) {
         foreach ($properties->{'columns'} as $Column) {
             $dgcolumn = new TDataGridColumn((string) $Column->{'name'}, (string) $Column->{'label'}, (string) $Column->{'align'}, (string) $Column->{'width'});
             $widget->addColumn($dgcolumn);
             $this->fieldsByName[(string) $Column->{'name'}] = $dgcolumn;
         }
     }
     if ($properties->{'actions'}) {
         foreach ($properties->{'actions'} as $Action) {
             $dgaction = new TDataGridAction(array($this->controller, (string) $Action->{'method'}));
             $dgaction->setLabel((string) $Action->{'label'});
             $dgaction->setImage((string) $Action->{'image'});
             $dgaction->setField((string) $Action->{'field'});
             $widget->addAction($dgaction);
             //$this->fieldsByName[(string)$properties->Name] = $column;
         }
     }
     if ((string) $properties->{'pagenavigator'} == 'yes') {
         $loader = (string) $properties->{'loader'} ? (string) $properties->{'loader'} : 'onReload';
         $pageNavigation = new TPageNavigation();
         $pageNavigation->setAction(new TAction(array($this->controller, $loader)));
         $pageNavigation->setWidth($widget->getWidth());
     }
     $widget->createModel();
     $row = $table->addRow();
     $row->addCell($widget);
     if (isset($pageNavigation)) {
         $row = $table->addRow();
         $row->addCell($pageNavigation);
         $widget->setPageNavigation($pageNavigation);
     }
     $this->fieldsByName[(string) $properties->{'name'}] = $widget;
     $widget = $table;
     return $widget;
 }
    const TABLENAME = 'pessoa';
}
// instancia objeto DataGrid
$datagrid = new TDataGrid();
// instancia as colunas da DataGrid
$codigo = new TDataGridColumn('id', 'Código', 'right', 50);
$nome = new TDataGridColumn('nome', 'Nome', 'left', 160);
$endereco = new TDataGridColumn('endereco', 'Endereço', 'left', 140);
$datanasc = new TDataGridColumn('datanasc', 'Data Nasc', 'left', 100);
$sexo = new TDataGridColumn('sexo', 'Sexo', 'center', 100);
// aplica as funções para transformar as colunas
$nome->setTransformer('strtoupper');
$datanasc->setTransformer('conv_data_to_br');
$sexo->setTransformer('get_sexo');
// adiciona as colunas à DataGrid
$datagrid->addColumn($codigo);
$datagrid->addColumn($nome);
$datagrid->addColumn($endereco);
$datagrid->addColumn($datanasc);
$datagrid->addColumn($sexo);
// cria o modelo da DataGrid, montando sua estrutura
$datagrid->createModel();
// obtém objetos do banco de dados
try {
    // inicia transação com o banco 'pg_livro'
    TTransaction::open('pg_livro');
    // instancia um repositório para Pessoa
    $repository = new TRepository('Pessoa');
    // cria um critério, definindo a ordenação
    $criteria = new TCriteria();
    $criteria->setProperty('order', 'id');
 */
function __autoload($classe)
{
    if (file_exists("app.widgets/{$classe}.class.php")) {
        include_once "app.widgets/{$classe}.class.php";
    }
}
// instancia objeto DataGrid
$datagrid = new TDataGrid();
// instancia as colunas da DataGrid
$codigo = new TDataGridColumn('codigo', 'Código', 'left', 50);
$nome = new TDataGridColumn('nome', 'Nome', 'left', 180);
$endereco = new TDataGridColumn('endereco', 'Endereço', 'left', 140);
$telefone = new TDataGridColumn('fone', 'Fone', 'center', 100);
// adiciona as colunas à DataGrid
$datagrid->addColumn($codigo);
$datagrid->addColumn($nome);
$datagrid->addColumn($endereco);
$datagrid->addColumn($telefone);
// instancia duas ações da DataGrid
$action1 = new TDataGridAction('onDelete');
$action1->setLabel('Deletar');
$action1->setImage('ico_delete.png');
$action1->setField('codigo');
$action2 = new TDataGridAction('onView');
$action2->setLabel('Visualizar');
$action2->setImage('ico_view.png');
$action2->setField('nome');
// adiciona as ações à DataGrid
$datagrid->addAction($action1);
$datagrid->addAction($action2);