protected function createComponentGrid($name) { $grid = new Gridito\Grid($this, $name); $db = $this->context->dibiConnection; $grid->setModel(new Gridito\DibiFluentModel($db->select('*')->from('users'))); $grid->setItemsPerPage(5); // columns $grid->addColumn('id', 'ID')->setSortable(true); $grid->addColumn('name', 'Name')->setSortable(true); $grid->addColumn('surname', 'Surname')->setSortable(true); $grid->addColumn('mail', 'E-mail', array('renderer' => function ($row) { echo Nette\Utils\Html::el('a')->href("mailto:{$row->mail}")->setText($row->mail); }, 'sortable' => true)); $grid->addColumn('active', 'Active', array('renderer' => function ($row) { Gridito\Column::renderBoolean($row->active); }, 'sortable' => true)); }
protected function createComponentGrid($name) { $grid = new Gridito\Grid($this, $name); $db = $this->context->dibiConnection; $model = new Model\UsersGriditoDibiModel($db); if ($this->getParam('activeOnly')) { $model->filterActiveOnly(); } $search = $this->getParam('search', false); if ($search) { $model->filterSearch($search); } $grid->setModel($model); // columns $grid->addColumn('id', 'ID')->setSortable(true); $grid->addColumn('name', 'Name')->setSortable(true); $grid->addColumn('surname', 'Surname')->setSortable(true); $grid->addColumn('mail', 'E-mail', array('renderer' => function ($row) { echo Nette\Utils\Html::el('a')->href("mailto:{$row->mail}")->setText($row->mail); }, 'sortable' => true)); $grid->addColumn('active', 'Active', array('renderer' => function ($row) { Gridito\Column::renderBoolean($row->active); }, 'sortable' => true)); }