DataGrid a prefilter – zapomíná proměnnou z template po filtrování v něm samém
- krust
- Člen | 14
Ahoj, mám dotaz. Používám ublaboo datagrid, který prefiltruji přes
ajax. Konkrétně mám X tlačítek, každé s nějakým atributem a klik na
každý z nich volá $.nette.ajax, kde změní nějakou template->XXX a
zavolá redrawControl. Což funguje skvěle, tedy do doby, než začnu v
„prefiltrovaném“ gridu hledat, stránkovat apod., to se pak grid chová,
jako by na tu template proměnnou zapomněl. Jak na to? Tuhle zapamatovanou
šablonovou proměnnou bych rád využil i jinde :-)
např.:
public function createComponentModalGrid($name)
{
if($this->template->modalGridTable == ""){
$datasource = [];
} else{
$datasource = $this->model->getTable($this->template->modalGridTable)->select("*");
}
$grid = new DataGrid($this, $name);
$gridLang = "gridTranslator_".$this->lang;
if($this->$gridLang != null){
$grid->setTranslator($this->$gridLang);
}
$grid->setDataSource($datasource);
$grid->addColumnText('name', 'Název')->setSortable()->setFilterText();
$grid->addGroupButtonAction('Přiřadit')->onClick[] = [$this, 'testFunc'];
return $grid;
}
public function handleRenderDynamicTable($table = ""){
$this->template->modalGridTable = $table;
$this->redrawControl("modalGrid");
}