Ublaboo datagrid – ako prekresliť datagrid pri ajaxe

Čamo
Člen | 798
+
0
-

Zdravím,
vie mi prosím vás niekto povedať ako prekreslím celý datagrid pri ajaxe? Keď sa pozriem do kódu tak vidím, že Ublaboo tam má nejaké snippety napr. snippet-stocksRequestsDatagrid-grid.
Ale kěd napíšem $this->redrawControl('stocksRequestsDatagrid') v zmysle invalidovania celej komponenty tak sa nič neprekreslí. Iba ak celý grid obalím do snippetu tak potom môžem prekresľovať tento snippet.
To by ale nemalo byť potrebné. Ako teda v prekresliť celý datagrid?

Ďakujem.

Editoval Čamo (7. 2. 2018 11:05)

Pavel Janda
Člen | 977
+
0
-

@Čamo Příklad v presenteru:

$this['productsGrid']->redrawControl();
Čamo
Člen | 798
+
0
-

@PavelJanda
Ano takto to funguje. Díky. Ja som ešte medzitým našiel $this[‚stocksRequestsDatagrid‘]->reload().

Ale nechápem aký je rozdiel medzi volaním $this->redrawControl('stocksRequestsDatagrid') a volaním $this['stocksRequestsDatagrid']->redrawControl(). Nemalo by sa to chovať rovnako?

Odhliadnuc od toho, že $this->redrawControl( $this['stocksRequestsDatagrid'] ) vyhodí error invalid offset pretože ako kľúč poľa sa používa objekt…

Editoval Čamo (7. 2. 2018 11:10)

Šaman
Člen | 2666
+
0
-

redrawControl() překresluje celou komponentu, nad kterou to voláš.
redrawControl('snippetName') překresluje konrétní snippet.
$this->redrawControl($this['stocksRequestsDatagrid'] ) je nesmysl. Parametrem té metody je název snippetu, nikoliv komponenta. Zavolej to bez parametrů nad tou komponentou, tedy jak psal Pavel: $this['stocksRequestsDatagrid']->redrawControl();

Čamo
Člen | 798
+
0
-

@Šaman Prisahal by som, že som to $this->redrawControl($this['stocksRequestsDatagrid'] ) niekde videl a fungoval to…

Editoval Čamo (7. 2. 2018 17:28)

Šaman
Člen | 2666
+
0
-

Nette API: redrawControl()

Editoval Šaman (8. 2. 2018 13:11)