Pomoc s DataGridem
- Kenn
- Člen | 110
Dnes jsem se konečně odhodlal rozběhnout DataGrid. Po chvilce bojování se povedlo, nastavil jsem si ho jakž takž k obrazu svému a teď bych potřeboval drobnost (ono je to vlastně to nejdůležitější :-)).
Je možné nějak na celý řádek nastavit odkaz? Používám DG pro výpis
databáze a potřeboval bych po kliknutí na řádek odkázat nějak takto
App:default $id
. Snažil jsem se hledat na fóru, ale nějak se mi
nepovedlo nic najít. Jde toto nějak jednoduše? Teoreticky by i stačilo
přidat sloupec s čudlíkem, na kterém by byl tento odkaz, to už bych nějak
překousl, jenom nevím, jak do DG poslat (nebo spíš získat, předpokládám,
že tam data z SQL dotazu někde budou) nějaká data. A ještě ideálněji,
kdyby šlo hodit odkaz v podobném duchu na všechny sloupce.
- toka
- Člen | 253
Pokud bys chtěl odkaz třeba na jeden sloupec, tak lze udělat takto:
// V DataGridu na sloupec, který obsahuje odkaz, nastavit
$grid['odkaz']->formatCallback[] = array($this, 'createLink');
A pak v presenteru:
public function createLink($value, DibiRow $data) {
return Html::el('a')->href($value)->setText('Klikněte');
}
- Kenn
- Člen | 110
Díky, to vypadá jako mocný nástroj.
Teď ještě dotaz, jak poslat do DG parametr? Chtěl bych ho napojit na vyhledávací formulář, popřípadě na menu s kategoriema. Teď formulář přesměrovávám na Search presenter, ale chtěl bych, aby se vyhledávaný dotaz poslal do DG jako by uživatel nastavil filtr pro daný sloupec.