2015-04-23 3 views
1

Я новичок в Yii2, и мне нужно немножко справки о GridView Yii2 GridView Yii2 http://i60.tinypic.com/35l91g1.pngКак установить значение по умолчанию в GridView Yii2

Я попытался сделать условное, как здесь:

<?= 
GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 
     /*........Other attribute here..........*/ 
     [ 
      'attribute' => 'status_dosen', 
      'value' => "status_dosen"==1 ? "Approved": "status_dosen"==NULL ? "Pending": "Rejected", 
     ], 
     [ 
      'attribute' => 'status_asrama', 
      'value' => "status_dosen"==1 ? "Approved": "status_dosen"==NULL ? "Pending": "Rejected", 
     ], 

     ], 
]); 

?> 

Но я получил ошибку, то:

Error http://i62.tinypic.com/2vxos1z.png

Unkno шп Свойство - юй \ база \ UnknownPropertyException Попадая неизвестное свойство: бэкенд \ модули \ aitk \ модели \ AitkRequest :: Отклонено

кто поможет мне, пожалуйста .. Как мы можем установить значение по умолчанию с некоторой условной стоимости ?

Для Attenttion и помощь, я благодарю вас .. :)

ответ

1

Используйте закрытие так:

GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 
      /*........Other attribute here..........*/ 
      [ 
       'attribute' => 'status_dosen', 
       'value' => function ($data){ 
return $data->status_dosen==1 ? "Approved": ($data->status_dosen==NULL ? "Pending": "Rejected"); 
} 
      ], 

    ]); 

См more

EDIT:

Используйте CSS. Добавить в HTML или CSS файл:

.table-striped>tbody>tr:nth-child(odd)>td, .table-striped>tbody>tr:nth-child(odd)>th { 
     background-color: red; 
    } 

.table-striped>tbody>tr:nth-child(even)>td, .table-striped>tbody>tr:nth-child(even)>th { 
     background-color: green; 
    } 
+0

Это работа, но вы можете помочь мне больше ?? Я хочу, если он принят, он окрашен в зеленый цвет, другой красный .. ?? Как я могу добавить CSS? –

+0

Да, я могу вам помочь –

+0

Я хочу, если он принят, он окрашен в зеленый цвет, другой красный .. ?? как я могу добавить некоторые CSS? –

1

Попробуйте этот код:

'value' => function ($model) { 
    return getStatusHtml($model->status); 
} 

Некоторые функции:

function getStatusHtml($status) 
    { 
     $text = ''; 
     if ($status == 1) { 
      return '<span class="label label-success>Success</span>'; 
     } elseif ($status == 2) { 
      return '<span class="label label-default>Default</span>'; 
     } else { 
      return '-'; 
     } 
    } 
Смежные вопросы