Pouzitie addDynamic a setDefaults pre editovanie

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

Caute, mam formular kde pouzivam addDynamic, tento formular sluzi aj na editovanie takze pri editovani zaznamu puzijem setDefaults, problem nastava ked dam nejaku pozozku odstranit addRemoveOnClick, robim to ajaxom, znovu sa mi prekresli formular, ale prebehne aj naplnanie setDefaults takze sa v kontaineri vytvoria nove prazdne id-cka. Ako by som vedel pouzit setDefaults len pri prvom nacitani formulara?

		$productItems = $form->addDynamic('productItems', function (Container $container) use ($_this) {
			$container->addText("code");
			$container->addText("description");

			$container->addSubmit('remove', 'Odstrániť')
				->setAttribute('class', 'ajax')
				->addRemoveOnClick(function (\Kdyby\Replicator\Container $replicator, Container $productItems) use ($_this) {
					$_this->invalidateControl();
				});
		}, 0);

Ide mi hlavne o toto, naplnam to vo formulari, a stale ked sa invaliduje snippet tak to naplni na novo, a do containeru mi prida tolko poloziek kolko krat prejde foreach, zaujimave je to ze ich ani nenaplni, ale su prazdne.

		if ($this->productEntity) {

			foreach ($this->productEntity->related('productitem') as $productItem) {
				$form['productItems'][$productItem->id]->setValues(
					array(
						'code' => $productItem->code,
						'description' => $productItem->description,
					));
			}
		}

Neviete niekto poradit ako to riesit?

Editoval duskohu (22. 5. 2013 15:47)