Pomoc s datagridem rememberState
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- lalo
- Člen | 26
Ahoj, nevim jestli jsem nekde neco prehledl, ale mam problem s $grid->rememberState = TRUE; v datagridu.
Mam celkem rozsahlou administraci a pouzivam nekolik datagridu. Jenze pokud nastavim dvema datadridum na ruznych strankach $grid->rememberState = TRUE; tak po prechodu z jedne stranky s gridem na druhou stranku s gridem prebira nastaveni predchoziho gridu, a nahlasi to chybu. Da se nekde nastavit, nazev gridu nebo nejake odliseni at si kazdy pamatuje sve nastaveni?
- repli2dev
- Člen | 57
Nejseš sám, mě tohle chování přijde nanejvýš otravné. Má to víceméně řešení v podobě úpravy datagridu, kdy při ukládání stavu do jménoho prostoru přidáš ještě jméno presenteru.
Přepsání funkce v DataGrid.php:
protected function getStateSession()
{
// Added presenter name to be more specific (caused problems across same named datagrids)
return $this->getSession()->getNamespace('Nette.Extras.DataGrid/'.$this->getPresenter()->getName().'/' . $this->getName() . '/states');
}
Editoval repli2dev (20. 6. 2010 14:26)