Php 基于yii中的数据在CGridView中设置列的样式

Php 基于yii中的数据在CGridView中设置列的样式,php,yii,cgridview,Php,Yii,Cgridview,是否可以根据数据设置CGridView的样式? 例如,这两种情况: 或者我必须使用其他选项?是的,您可以按数据指定css类。使用选项 您可以使用cssClassExpression来实现这一点 排列( “名称”=>“状态”, “值”=>“$data->status0->title”, 'cssClassExpression'=>调用函数或按表达式执行, ), 这样,您就可以为不同的行设置不同的类,并为该行编写相应的css,正如其他答案所明确的那样,csclassexpression可以用于此目

是否可以根据数据设置CGridView的样式? 例如,这两种情况:


或者我必须使用其他选项?

是的,您可以按数据指定
css
类。使用选项


您可以使用cssClassExpression来实现这一点

排列( “名称”=>“状态”, “值”=>“$data->status0->title”, 'cssClassExpression'=>调用函数或按表达式执行, ),


这样,您就可以为不同的行设置不同的类,并为该行编写相应的css,正如其他答案所明确的那样,
csclassexpression
可以用于此目的。我认为会有许多
if
语句,因此您不能将内联
if
语句用于cssClassExpression。
我会这样做。
1.首先在模型中定义一个方法,如

public function checkColour()
{
if('value'<10)
{
return 'green quarter'
}
if('value'>10)
{
return 'yellow half'
}
}
public function checkColour()
{
if('value'<10)
{
return 'green quarter'
}
if('value'>10)
{
return 'yellow half'
}
}
'columns'=>array(

        array(
            'name'=>'nozare',
            'cssClassExpression' => '$data->checkColour()'
        ),

    ),