#1 8. 2. 2010 20:40

toka
Nette guru
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 210

DataGrid a obrázek

Bylo by možné do sloupce DataGridu nějakým způsobem dostat obrázek, pokud z DB znám cestu? Nějak mne nic nenapadá. Pokud bych to řešil metodou „hard-core“ přes JS, tak to nepřežije AJAXový požadavek, např. na řazení, filtry, apod.

jQuery('td').each(function(){
  if(jQuery(this).html().match(/\.jpg$/)) {
    jQuery(this).replaceWith('<td><img src="' + jQuery(this).html() + '" alt="Image" /></td>');
  }
});

Napadá Vás někoho řešení? Děkuji předem za info.


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#2 8. 2. 2010 20:44

Ola
Nette guru
Registrovaný: 21. 10. 2008
Příspěvky: 477

Re: DataGrid a obrázek

Přežilo by, stačilo by upravit callback při ajaxSuccess. Obsahuje ten sloupec jen obrázek nebo i jinej text?

Offline

 

#3 8. 2. 2010 20:48

bazo
Člen
Registrovaný: 28. 9. 2009
Příspěvky: 187

Re: DataGrid a obrázek

skus toto v tovarnicke:

<?php
        $grid->addColumn('Image', 'Image');
        $grid['image']->formatCallback[] = array($this, 'formatImage');
?>

callback:

<?php
        public function formatImage($value, DibiRow $data)
        {
                return Html::el('img')->src($value); //predpokladam, ze vo $value je cesta k obrazku
        }
?>

Offline

 

#4 8. 2. 2010 23:18

toka
Nette guru
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 210

Re: DataGrid a obrázek

Zkusil jsem ten callback, a super. Jen tedy pro informaci, jak upravit callback pro ajaxSuccess?


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#5 9. 2. 2010 5:22

vrtak-cz
NDP guru
Místo: Praha/Ústí nad Orlicí
Registrovaný: 8. 3. 2008
Příspěvky: 964
Web

Re: DataGrid a obrázek

Doimplementuj si tenhle class http://github.com/…geColumn.php a pak použij $dataGrid->addImageColumn(...,...);


„Nastala chyba která neměla nastat“ aneb „Když se chce všechno jde.“

Offline

 

Zápatí