/** * 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; }
/** * */ 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);