2015-04-24 81 views
2

在gridview中有一個日期列。有時候這個日期是空白的。我想要的是,如果日期爲空,它將顯示紅色的「x」圖標,如果日期存在,它將顯示綠色的檢查圖標。這是如何在gridview中完成的?YII2在gridview中插入圖標​​

這裏是到目前爲止的代碼...

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 
      [ 
       'attribute'=>'province', 
       'value'=>'incomingSp.brgyCode.cityCode.province.prov_name', 
      ], 
      [ 
       'attribute'=>'city', 
       'value'=>'incomingSp.brgyCode.cityCode.city_name', 
      ], 
      [ 
       'attribute'=>'brgy', 
       'value'=>'incomingSp.brgyCode.brgy_name', 
      ], 
      [ 
       'attribute'=>'title', 
       'value'=>'incomingSp.sp_title', 
      ], 

      'incoming_sp_id', 
      'date_encoded', 
      'encoded_by', 
      ['class' => 'yii\grid\ActionColumn', 
       'template' => '{view}{update}{delete}', 
      ], 
     ], 
    ]); ?> 

回答

1

擴展date_encoded列聲明是這樣的:

[ 
    'attribute' => 'date_encoded', 
    'format' => 'raw', 
    'value' => function ($model) { 
     if ($model->date_encoded === null) { 
      return 'x'; // "x" icon in red color 
     } else { 
      return 'v'; // check icon 
     } 
    }, 
], 

官方文檔:

+0

我想這'返回「」;'但它顯示了整個「」;「不是自舉的圖標。 – beginner

+1

效果很好。謝謝... – beginner

0

我設置「格式」 =>「HTML」,那麼可以顯示它作爲圖標而不是原始文本