Yii2 Gridview逐行css表达式

时间:2014-10-15 00:20:42

标签: gridview yii2

逐行css表达式的正确方法是什么。在Yii 1中是rowCssClass。我无法弄清楚如何用Yii2实现这一目标。我试过这个,但不确定我是否在正确的位置:

        'rowOptions' => function($model, $key, $index, $grid){
        if($data->option->correct_answer == 1){

            return ['class' => 'danger'];
        }
    },

我不确定在处理dataProvider时从哪里获取函数的参数。

2 个答案:

答案 0 :(得分:26)

使用$ model代替$ data。

在我的变体中:

   'rowOptions' => function ($model, $index, $widget, $grid){
      return ['style'=>'color:'.$model->status->color.'; background-color:'.$model->status->background_color.';'];
    },

在你的情况下:

   'rowOptions' => function ($model, $index, $widget, $grid){

      if($model->option->correct_answer == 1){
        return ['class' => 'danger'];
      }else{
        return [];
      }
    },

答案 1 :(得分:0)

你也可以尝试这个

为您的行添加班级名称

'rowOptions' => ['class'=>'rowData'],

然后通过css

操纵它
<?php

$css = <<< CSS
//example
.rowData:hover{

}
CSS;
$this->registerCss($css);
?>