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
+
0
-

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?

despiq
Člen | 320
+
0
-

noa jak se ty tvoje gridy jmenujou?

lalo
Člen | 26
+
0
-

Ja jsem blbej…

vsude jsem daval
$this->addComponent($grid, ‚grid‘);

myslel jsem ze to neni problem, pokud to je v ruznych presenterech… No a problem to je.

Omlouvam se vsem

repli2dev
Člen | 57
+
0
-

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)