Add if in Yii bootstrap tbgridview


Add if in Yii bootstrap tbgridview

我有这个

$this->widget('bootstrap.widgets.TbGridView', array(
'type'=>'striped bordered condensed',
'dataProvider'=>$data,
'template'=>"{items}",
'columns'=>array(
    array('name'=>'name', 'header'=>'Name' ,'type'=>'raw', 'value' => 'CHtml::link(CHtml::encode($data->url),array("view","id"=>$data->id))',),
    array('name'=>'status', 'header'=>'Status', 'htmlOptions' => array('class'=>'status'),),
),

在状态中,有两种状态:开和关。如果状态为打开,我想添加类"绿色",如果状态为关闭,则添加类"红色"。

你知道我怎样才能做到这一点吗?

你没有提到,你想在哪里添加这个类。如果要将其添加到每一行,可以使用 GridView 的 rowCssClassExpression 属性:

// ...
'template'=>"{items}",
'rowCssClassExpression' => '$data->status ? "green" : "red"',
// ...

如果只想将其添加到特定列,则可以使用列的cssClassExpression

array(
    'name'=>'status',
    'header'=>'Status',
    'htmlOptions' => array('class'=>'status'),
    'cssClassExpression' => '$data->status ? "green" : "red"',
),