如何在CGridView中设置默认值

时间:2013-04-15 05:14:40

标签: yii cgridview

如果我的dataprovider值中的$data->pic==""如何设置默认值。将数据pic设置为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)',
    ),
));

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

value被评估为php表达式,因此可以在其中使用条件

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

P.S在任何地方使用绝对网址都是一个坏主意。

答案 2 :(得分:0)

我认为你可以覆盖CActiveRecord的afterFind方法

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