Množina poli s DatePickerem

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

Dobry den.

Otazka je taková. Poteřebuji uvnitř Form vypsát sloupcem seznam objektu (tedy $item) a vedle ni aby byl přislušný DatePicker, ktery by v databazi nastavovál datum dodání toho zboží. Cely ten kod tady vypisovat nebudu, jenom jsem chtěl zeptát, je-li možný vložit v Form ještě nejaký Form anebo celou množinu.

David Matějka
Moderator | 6445
+
0
-

asi mas na mysli Container

kuchuali
Člen | 15
+
0
-

matej21 napsal(a):

asi mas na mysli Container

Ale jak tedy přídát několik těch kontaineru?

$form = new Form($this,$name);
 $subs = array();
/** dal probiha inicializace tabulky $items, to tady nevadi, to mam v poradku*/
$a=0;
        foreach($items as $i=>$item){
            $subs[a] = $form->addContainer($item, 'sub'.a);
            $subs[a]->addDatePicker('it_delivery_date','Confirmed delivery date for '.$item['name_en'])->setDefaultValue($default);
        }
        $form->addSubmit('save','Save and confirm');

Ten kod ale nefunguje.

David Matějka
Moderator | 6445
+
0
-
$form = new Form(); //neni nutno predavat $this a $name, nette to potom samo nastavi
/** dal probiha inicializace tabulky $items, to tady nevadi, to mam v poradku*/
foreach($items as $i=>$item){
	$container = $form->addContainer($item['id']); //container ma jen jeden parametr a to je jeho nazev, doporucuji ID, podle ktereho snadno poznas, co se edituje
	$container->addDatePicker('it_delivery_date','Confirmed delivery date for '.$item['name_en'])->setDefaultValue($default);
}
$form->addSubmit('save','Save and confirm');
kuchuali
Člen | 15
+
0
-

Diky! Uz to vypada mnohem lepe. Jen ze (nevim proc) DatePicker se pri kliknuti zobrazuje pouze pro prvni Item, pro ostatni to vypada jen jako obycejny textfield, a proto datum se tam musi zadavat rucne. Nevite, prosim, s cim to muze byt spojene?

kuchuali
Člen | 15
+
0
-

A ted jeste jsem vyresil dodat ke kazdemu z komponentu tlacitko pro ulozeni. Ale mi pri stisknuti vypisuje chybu. Mozna nekdo pozna, v cim tady spociva?

___edit____

Ted mi uz chybu nevypisuje. Ale v databazi se po stisknuti „Save“ nic nemeni.

foreach($items as $i=>$item){
    $container = $form->addContainer($item['id']); //container ma jen jeden parametr a to je jeho nazev, doporucuji ID, podle ktereho snadno poznas, co se edituje
    $container->addDatePicker('it_delivery_date','Confirmed delivery date for '.$item['name_cz'])->setDefaultValue($default);

    $container->addSubmit('submit', 'Save')->setValidationScope(FALSE)-> onClick = function($container,$item){
        $dd = $container->getValues();
        $dd2 = $dd['it_delivery_date'];
        $this->model->database->exec('UPDATE result_item SET it_delivery_date=? WHERE id=?', $dd2,$item[id]);
    };

Editoval kuchuali (12. 7. 2013 19:44)