Подтвердить что ты не робот

Yii2 Gridview строка за строкой выражение css

Каков правильный способ выражения строки по строке css. В Yii 1 был rowCssClass. Я не мог понять, как добиться этого с Yii2. Я пробовал это, но не был уверен, что я на правильном пути:

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

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

Я не уверен, где получить параметры для функции при работе с dataProvider.

4b9b3361

Ответ 1

Используйте $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 [];
      }
    },

Ответ 2

Вы также можете попробовать это

добавить имя класса для вашей строки

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

затем манипулируйте им через css

<?php

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

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