/** * Simple bootstrap table * * @return \ZfcDatagrid\Controller\ViewModel */ public function bootstrapAction() { $row = array('displayName' => 'Wayne? John!'); $row2 = array('displayName' => 'Name2'); $data = array($row, $row2); /* @var $grid \ZfcDatagrid\Datagrid */ $grid = $this->getServiceLocator()->get('Zf2datatable\\Datagrid'); $grid->setTitle('Minimal grid'); //you can change here the renderer (allowed: bootstrapTable / jqgrid...default is bootstrapTable $grid->setRendererName('jqGrid'); $grid->setDataSource($data); $col = new Column\Select('displayName'); $col->setLabel('Name'); $grid->addColumn($col); $grid->render(); return $grid->getResponse(); }
public function testGetFilterSelectExpression() { $col = new Column\Select('id', 'user'); $this->assertFalse($col->hasFilterSelectExpression()); $this->assertNull($col->getFilterSelectExpression()); $col->setFilterSelectExpression('CONCAT(%s)'); $this->assertEquals('CONCAT(%s)', $col->getFilterSelectExpression()); $this->assertTrue($col->hasFilterSelectExpression()); }
/** * Usage * php index.php show example grid --page 1 * php index.php show example grid --page 2 * * @return \Zend\Http\Response\Stream */ public function consoleAction() { /* @var $grid \ZfcDatagrid\Datagrid */ $grid = $this->getServiceLocator()->get('zf2datatablegrid'); $grid->setTitle('Persons'); $grid->setDefaultItemsPerPage(5); $grid->setDataSource($this->getServiceLocator()->get('zfcDatagrid.examples.data.zendSelect')->getPersons()); $col = new Column\Select('id'); $col->setIdentity(); $grid->addColumn($col); $col = new Column\Select('displayName'); $col->setLabel('Displayname'); $col->setWidth(25); $col->setSortDefault(1, 'ASC'); $col->addStyle(new Style\Bold()); $grid->addColumn($col); $col = new Column\Select('familyName'); $col->setLabel('Familyname'); $col->setWidth(15); $grid->addColumn($col); $col = new Column\Select('givenName'); $col->setLabel('Givenname'); $col->setWidth(15); $grid->addColumn($col); $col = new Column\Select('age'); $col->setLabel('Age'); $col->setWidth(10); $col->setType(new Type\Number()); $grid->addColumn($col); $grid->render(); return $grid->getResponse(); }
/** * * @return \ZfcDatagrid\Datagrid */ private function getGrid() { /* @var $grid \ZfcDatagrid\Datagrid */ $grid = $this->getServiceLocator()->get('ZfcDatagrid\\Datagrid'); $grid->setTitle('Categories'); $grid->setDefaultItemsPerPage(5); $grid->setDataSource($this->getServiceLocator()->get('zfcDatagrid.examples.data.phpArray')->getCategorys()); $col = new Column\Select('id'); $col->setIdentity(); $grid->addColumn($col); $colParentId = new Column\Select('parentId'); $colParentId->setHidden(true); $grid->addColumn($colParentId); $colHasChildren = new Column\Select('hasChildren'); $colHasChildren->setHidden(true); $grid->addColumn($colHasChildren); $colTags = new Column\Select('tags'); $colTags->setLabel('Tags'); $colTags->setHidden(true); $colTags->setWidth(30); $colTags->setType(new Type\PhpArray()); $grid->addColumn($colTags); $toggle = new Column\Action\Button(); $toggle->setLabel('+'); $toggle->addShowOnValue($colHasChildren, 'y'); $toggle->setAttribute('onclick', 'console.log($(this).parent().parent().attr(\'id\'));$.get(\'/zfcDatagrid/category/tree\', function (data) { console.log(this); $.each(data.data, function (index, value) { $(\'#' . $grid->getId() . '\').jqGrid(\'addRowData\', value.idConcated, value, \'after\', 5); }); });'); $col = new Column\Action(); $col->setLabel(' '); $col->setUniqueId('expandAction'); $col->addAction($toggle); $grid->addColumn($col); $col = new Column\Select('name'); $col->setLabel('Name'); $col->setWidth(50); $col->setSortDefault(1); $col->setRendererParameter('formatter', ' function (cellvalue, options, rowObject) { var valuePrint = cellvalue; $.each(rowObject.' . $colTags->getUniqueId() . ', function (index, value) { valuePrint += \' <span class="label">\' + value + \'</span>\'; }); return valuePrint; } ', 'jqGrid'); $grid->addColumn($col); $toggle = new Column\Action\Button(); $toggle->setLabel('other action...'); $toggle->addShowOnValue($colHasChildren, 'y'); $toggle->setAttribute('onclick', 'alert(\'clicked\');'); $col = new Column\Action(); // $col->setLabel('A'); $col->addAction($toggle); $grid->addColumn($col); return $grid; }