defaultne check-nute niektore riadky v DataGrid-e

- maX
 - Člen | 4
 
Zdravim vsetkych,
mam mensi problem s DataGridom … pokusam sa o dialog typu:
„Please confirm delete selected items“
kde by sa mal v pozadi vykrestlit povodny datagrid, ale zaskrtnute polozky musia byt logicky zasktnute znova.
skusal som nieco taketo:
$grid = $this->getComponent($this->cfg.'grid');
if($this->IDsToDelete !== NULL) {
	$form = $grid->getForm();
	foreach (unserialize($this->IDsToDelete) as $id) {
		$form['checker'][$id]->setValue(true);
	}
}
resp. metoda setValue sa na nejakych CheckBox-och zavola ($this->value sa v nich nastavi na TRUE), ale na vystupe su zial vsetky checkboxy vypnute …
dakujem za kazdu radu.
Btw, nette rocks, keep up the great work ;-)

- romansklenar
 - Člen | 655
 
V další verzi obohatím demo aplikaci o ukázku jak pracovat s takovými popupy, tento problém ještě ověřím, protože jsem se s ním zatím nesetkal.

- marek.dusek
 - Člen | 99
 
add predvybrane checkboxy, problem je s regeneraci formulare, pomuze neco takoveho:
protected function regenerateFormControls()
	{
		$form = $this->getForm();
		// regenerate checker's checkbox controls
		if ($this->hasOperations()) {
			$values = array();
			if ($form->isPopulated()) {
				// preserve populated values
				$values = $form->getValues();
			}
			$form->removeComponent($form['checker']);
			$sub = $form->addContainer('checker');
			foreach ($this->getRows() as $row) {
				$sub->addCheckbox($row[$this->keyName], $row[$this->keyName]);
			}
			if (!empty($values['checker'])) {
				// restore values
				$form->setDefaults(array('checker' => $values['checker']));
			}
		}
		...
	}
				
- romansklenar
 - Člen | 655
 
Na toto vlákno jsem úplně zapomněl, každopádně jsi první kdo na jakoukoliv nahlášenou chybu poslal i opravu ;)

- marek.dusek
 - Člen | 99
 
;) jeste nejasej, mozna by tam misto toho setDefaults() melo byt setValues(), protoze jinak se to stejne smaze pri prekliku filtru (form je jakoby odeslany ⇒ defaults se neaplikuji)