@FrelFrloich

Yii2 gridview как присвоить класс при разных условиях?

Доброго времени суток, есть грид, я бы хотел банально присвоить класс определённой строке в грид,
[
   'attribute' => 'date',
  'contentOptions' => ['class' => 'date'],
],


с этим всё понятно, но как построить условие в грид, мнe надо присвоить другой класс если дата меньше сегодняшней... Это возможно сделать в самом грид если да то как используется конструкция if в гридвью?)
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
@FrelFrloich Автор вопроса
Кому мб пригодиться, правильное решение.

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'rowOptions' => function ($model, $key, $index, $grid)
        {
          if($model->date < date('Y-m-d')) {
              return ['class' => 'red'];
          }
        },


Условие и всё остальное на ваш вкус.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Exomode
@Exomode
Архитектор ПО
$data = [
   'attribute' => 'date',
  'contentOptions' => ['class' => 'date'],
];

if ($yourTime < time()) {
    $data["contentOptions"]["class"] = "otherDate";
}
Ответ написан
@morricone85
'contentOptions' => function () {
    return ['class' => 'myClass'];
},
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы