Bipin Chandra Tripathi
Bipin Chandra Tripathi

Reputation: 2620

How to set defalut value in CGridView

How can I set default value if $data->pic=="" in my dataprovider values. Set data pic as na.jpg

widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(
    array(
        'type'=>'raw',
        'name'=>'pic',
        'value'=>'CHtml::image("http://localhost/studentpics/".$data->pic)',
    ),
));

Upvotes: 0

Views: 1067

Answers (3)

wonde
wonde

Reputation: 1181

I think you can override afterFind method of CActiveRecord

protected function afterFind()
{
 if($this->pic ===null)
   {
    $this->pic = na.jpg;
   }
  parent::afterFind();
}

Upvotes: 0

topher
topher

Reputation: 14860

value is evaluated as a php expression so it is ok to use a condition in it

'value'=>'CHtml::image(($data->pic)?"http://localhost/studentpics/".$data->pic:"default_image_url")',

P.S it's a bad idea to use absolute url's everywhere.

Upvotes: 1

Sudhanshu Saxena
Sudhanshu Saxena

Reputation: 1199

widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
 array(
                    'name'=>'your Image URL',
                    'type'=>'image',
                    'htmlOptions'=>array('width'=>'30px','height'=>'30px'),
            ),
));

Upvotes: 1

Related Questions