Mam dalsi problem tento krat DataGrid

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

Ahoj,

(nejako casto mam problemy) :)

No ale k veci. Stiahol som si DataGrid a zistil som, ze je to vlastne standalone aplikacia postavena na Nette (zjednodusene povedane). Kedze ma uz rozrobene veci v Nette v 0.9.3, tak som len prekopiroval potrebne moduly, prezentery, view atd… do stavajucej aplikacie. Nakonfiguroval som config.ini a bootstrap a hor sa vytvorit prvu tabulku. Vsetko ide fajn az po vystup na view, kde mi to neustale vyhadzuje chybu:

LatteFilter::invoke() is deprecated; use non-static __invoke() instead.
Line 549: trigger_error(__METHOD__ . ‚() is deprecated; use non-static __invoke() instead.‘, E_USER_WARNING);

Nelenil som, hovorim si je to asi v tej verzii, tak som skusil opacny pokus. Presentery, moduly, view atd som nakopiroval do distribucie DataGridu 0.9.2 a ejhla stranka sa spustila, tabulka z examplu sa vykreslila. Tak si vravim fajn prihlasim sa do CMS, ktore prave k stranke vyrabam. Treba podotknut, ze na Loginovanie pouzivam predrobeny LoginPresenter z v0.9.3 a logovanie funguje krasne v povodnom rieseni. Lenze tu mi to zase po odoslani formulara vyhadzuje hlasku:

Service ‚Nette\Security\IAuthenticator‘ not found.
Line 173: throw new InvalidStateException(„Service ‚$name‘ not found.“);

Takze vysledok je, ze tu mi sice vykresli tabulku, ale ma neprihlasi do CMS.

Tomu sa hovori, ze ani tak, ani tak.

Tak by som sa priatelia chcel opytat, ci ste sa s tym stretli a existuje nejake riesenie?
Popripade existuje nejaka ina Libka na tabulky, co by sa dala pouzit v Nette?

norbe
Backer | 405
+
0
-

brazvo napsal(a):

LatteFilter::invoke() is deprecated; use non-static __invoke() instead.
Line 549: trigger_error(__METHOD__ . ‚() is deprecated; use non-static __invoke() instead.‘, E_USER_WARNING);

Problém je akorát v tom, že nette registruje Latte filter u šablon automaticky. Od verze 0.9.3 vyhazuje vyjímku, aby se tyto zbytečné metody odstranili.

Jediné co tedy musíš udělat je otevřít zdroják datagridu a odstranit nyní již zbytečnou řádku

brazvo
Člen | 15
+
0
-

Aaaa, problem je vyrieseny v druhom pripade som nemal v configu:
service.Nette-Security-IAuthenticator = UsersModel

Stale tu ale, zostava problem #1.

B

brazvo
Člen | 15
+
0
-

Tak pardon uz ani #1 nie je problem. Norbe bol rychlejsi ako ja ;)

DAKUJEEEM

brazvo
Člen | 15
+
0
-

Ahoj,

chcel by som sa opytat, ci sa da v DataGride nejako vypnut Paginator. Mam tabulku s par zaznamami a ani nie je predpoklad, ze sa naplni viac ako 10–15 zaznamami, takze ten Paginator je tam zbytocny. Hrabal som sa v kode, ci tam nie je niejaka Set metoda, ale nenasiel som. Myslel som, ze pomoze nastavenie:

$grid->itemsPerPage = 'all';
$grid->displayedItems = array('all');

ale to akurat nastavilo vychozie hodnoty paginatoru na All.

norbe
Backer | 405
+
0
-

Tohle by mělo být co hledáš:

$renderer = $grid->getRenderer();
$renderer->footerFormat = "%operations% %info%"; // vychozi hodnota je "%operations% %paginator% %info%"
$grid->setRenderer($renderer);
brazvo
Člen | 15
+
0
-

Jo to je ono, diki.

B.

dotTwelve
Člen | 167
+
0
-

Datagrid mi nevykresli refresh button pro vsechny operace (th class=„checker“ tam je, ale v nem uz nemam klikaci span). Stejne tak se mi to nedostane ani do faze vyhozeni flash message. keyName se priradi dobre, stejne tak jako se vykresli v kazdem radku checkbox pro zaskrtnuti.

Ted koukam, ze u editable Datagridu z extras, to v prikladu taky nefunguje…

Editoval dotTwelve (2. 4. 2010 17:50)