DataGrid a URL

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mentor
Člen | 7
+
0
-

Ahojte,
mam tento problem:
postupoval som podla navodu (https://componette.org/search/?…) pre zobrazenie trivialneho datagridu, ala:

presenter:

public function renderViewDataGrid() {
     $this->template->grid = $this->getComponent('dg');
 }


 protected function createComponent($name) {
   switch ($name) {
   case 'dg':
       $grid = new DataGrid;
       $grid->bindDataTable(dibi::dataSource('SELECT * FROM login') );
       $grid->itemsPerPage = 10;
       $grid->multiOrder = FALSE;
       $this->addComponent($grid, $name);
       return;

   default:
     parent::createComponent($name);
     return;
   }
 }

sablona:

{? $grid->render()}

datagrid sa mi zobrazi vpohode (na URL : …/?action=view-data-grid), akurat ked klikam kdekolvek na href-y tak sa nic nedeje.
ked skopirujem link napriklad pre zmenu strankovania (…/?action=view-data-grid&dg-page=2) do URL tak „rucne“ zafunguje, ale ani z AJAXom ani bez AJAXu (isAjax() {return FALSE;} ) mi to stav parametrov v URL nezmeni. V com by to mohlo byt ?

Dik za rady.

Andrej

romansklenar
Člen | 655
+
0
-

To by mohla být nějaká chyba při vyřizování ajaxového požadavku, nevyhazuje se někde nějaká výjimka? Půjde to vidět v konzoli firebugu.

mentor
Člen | 7
+
0
-

ve firebugu vidim po kliknuti 2pozadavky, zadny error:

get ../view-data-grid/?dg-page=3&do=dg-page vrati 303, response je HTML (pravdepodobne validni zodpovida akci po kliku)

get ../view-data-grid/?dg-page=3 vrati 200, response prazdny

v pripade zapleho ajaxu je pozadavek pouze 1 a to:

get ../view-data-grid/?dg-page=3&do=dg-page vrati 200, response je JSON :

{"state":{"dg-page":2,"dg-order":null,"dg-filters":null}}

Editoval mentor (8. 6. 2009 20:51)

mentor
Člen | 7
+
0
-

z vypnutym javascriptom to funguje spravne.

romansklenar
Člen | 655
+
0
-

Když jsou v odpovedi persistentni parametry ale žádný obsah, tak by to mohla být zavináčová magie… jsou všechny zavináče tak kde mají být?

mentor
Člen | 7
+
0
-

dakujem, funguje to!
v @layout.phtml kde sa echuje $content staci pridat zavinac :

@{include $content}