Form a komponenta

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

Ahoj, narazil jsem na zajimavy deathlock. Mám komponentu, která umí stránkovat dlouhý formulář (Paginatorem). Komponentu vytvarim v Presenteru v metode prepareXXX() a Formular podle te komponenty vytvarim v renderXXX().

Problem:

Kdyz vytvarim formular az v renderXXX, je to na nej moc pozde a nenecha si pridat controlky, kdyz ho ale vytvarim uz v prepareXXX, komponenta jeste nedostane signaly a neni nastavena.

Zivotni cyklus tedy obsahuje dotcene polozky v tomto poradi:

  1. PrepareXXX
  2. Zpracovani komponenty – prijem signalu
  3. Zpracovani formularu (do ted je potreba je nahlasit)
  4. RenderXXX

Poradte mi prosim kde uz budu mit nastavenou komponentu a soucasne jeste stihnu vytvorit formular.

Dekuji T.

kravčo
Člen | 721
+
0
-

Použi továrničku, na komponentu v prezenteri, na formulár v komponente. Viď Správne vytváranie formulárov.

Editoval kravčo (16. 9. 2009 12:21)

Jakub Šulák
Člen | 222
+
0
-

to kravčo: tebou uvedený odkaz je chybný…

Správně:

https://doc.nette.org/…ubleshooting

tr.
Člen | 79
+
0
-

kravčo napsal(a):

Použi továrničku, na komponentu v prezenteri, na formulár v komponente. Viď správne vytváranie formulárov.

Ahoj, je to moje obecná stránkovací komponenta, formulář s ní nemá nic společného, ten náleží pouze presenteru (je jedinečný). Mám stránkovací komponentu vytvářet v createComponent() ? Kde pak mam vytvaret ten formular?

Update: Asi jem to pochopil, zkusím to a kdyžtak napíšu, zatím díky,

Díky

Editoval tr. (16. 9. 2009 10:06)

tr.
Člen | 79
+
0
-

Tak děkuji, mám to pořešené, formulář i listovátko vytvářim v createComponent, navzájem je volám a stavy ukládám jen do presenteru. Funguje to bezvadně.

Ahoj Tomáš