2017-01-08 48 views
0

我有一個列表頁面,其中顯示電子郵件列表,如果我想刪除任何列表,但實際上並未刪除它,但它在表格列中標記爲已刪除。
對於email_lists我使用GridView小部件來顯示列表,如果在表email_lists中標記爲刪除,我想突出顯示一行。Yii2:突出顯示基於db列值的gridview中的行

任何想法如何突出顯示整行而不是列?

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 
     'name', 
     'total_recipients', 
     'list_type', 
     // 'is_deleted', 
     [ 
      'class' => 'yii\grid\ActionColumn', 
      'header' => 'Actions', 
      'template' => '{update}{view_list}{delete}', 
      'buttons' => [ 
       'view_list' => function($url, $data, $key) { 
        return Html::a('<i class="glyphicon glyphicon-eye-open"></i>', ['/promos/promolistemails/index', 'id' => $data->id], ['title' => 'View List Emails']); 
       }, 
       'update' => function($url, $data, $key) { 
        if ($data->list_type == 'custom') { 
         return Html::a('<i class="fa fa-pencil"></i>', '#.', ['title' => 'Edit List Emails', 'data-url' => yii\helpers\Url::to(['/promos/promolists/update', 'id' => $data->id]), 'class' => 'edit-list']); 
        } 
       }, 
       'delete' => function($url, $data, $key) { 
        if ($data->list_type == 'custom') { 
         return Html::a('<i class="fa fa-trash"></i>', $url, ['title' => 'Delete List', 'data-method' => 'post', 'id' => 'delete-list']); 
        } 
       }, 
      ] 
     ], 
    ], 
]); ?> 

回答

0

我需要使用rowOptions爲GridView

'rowOptions'=>function ($model, $key, $index, $grid){if($model->is_deleted){return ['class'=>'red'];}}, 
0

試試這個

'rowOptions' => function($model, $key, $index, $grid){ 
    if($model->is_deleted){ 
     return ['class' => 'danger']; 
    } 
},