Datagrid a složený klíč který je z DataSource – jak na to_

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

Zdravím,

používám klasický Romanův Datagrid (https://componette.org/search/?…) a potřeboval bych protlačit složený klíč do akce datagridu, přičemž složený klíč jsou dva sloupce z gridu (tedy v DibiDataSource).

Našel jsem pár řešení formálně stejného problému zde na fóru, ale řešili problém pouze složeného klíče v akci jako takového a oba parametry byly dodány nějak „zvenčí“, tedy nějakým způsobem do akce předány (např. drženy v persistentním atributu presenteru). Mám-li ale akci, která potřebuje dva parametry, a obě hodnoty jsou součástí DibiDataSource spárovaného s gridem, neustále se někde zasekávám.

Představoval bych si praktické použití nějak takhle:

<?php
 $grid->keyName = Array('id_1','id_2'); //názvy sloupců gridu
 $grid->addAction('Akce se složeným klíčem', 'Presenter:action');
?>

Má někdo nějaký návrh, určitě nejsem první kdo to řešil, možná už existuej i někde nějaký fork/snippet.

Morlok
Člen | 26
+
0
-

Podla mna mat zlozeny keyName nie je spravna cesta. Ja som to riesil tak ze akcia mala moznost nastavit „dalsie parametre“ ktore by sa mali predat do handle.

<?php
$grid->addAction(....)
	->addParameters(array('id', 'id_lang', 'id_product'));
?>

a potom pri generovani odkazu na handle okrem keyName pridavam aj dalsie nastavene parametre.