/** * Provides complete datagrid rendering. * @param DataGrid\DataGrid * @param string * @return string */ public function render(DataGrid\DataGrid $dataGrid, $mode = NULL) { if ($this->dataGrid !== $dataGrid) { $this->dataGrid = $dataGrid; } if (!$dataGrid->dataSource instanceof DataGrid\DataSources\IDataSource) { throw new Nette\InvalidStateException('Data source is not instance of IDataSource. ' . gettype($this->dataSource) . ' given.'); } if ($mode !== NULL) { return call_user_func_array(array($this, 'render' . $mode), array()); } $template = $this->dataGrid->getTemplate(); $template->setFile($this->file); return $template->__toString(TRUE); }