/** * Get paginator * @return \Nette\Paginator */ public function getPaginator() { if (!$this->paginator) { $this->paginator = new Paginator(); $this->paginator->setItemsPerPage($this->defaultItemsPerPage); } return $this->paginator; }
/** * Render grid */ public function render() { $this->paginator->setPage($this->page); $this->model->setLimit($this->paginator->getLength()); $this->model->setOffset($this->paginator->getOffset()); if ($this->sortColumn && $this["columns"]->getComponent($this->sortColumn)->isSortable()) { $this->model->setSorting($this->sortColumn, $this->sortType); } $this->template->render(); }
/** * @return array */ public function getPaginatedResult(Paginator $paginator) { return $this->qb->getQuery()->setFirstResult($paginator->getOffset())->setMaxResults($paginator->getItemsPerPage())->getResult(); }