2015-12-12 32 views
0

如何使用串行列的值作为排名?使用Yii2 Gridview SerialColumn作为排名

实施例:

如果该值为1,I显示gold.png,

如果值是2,I显示silver.png,

如果值是3,I展示bronze.png,

我这样做了,但不知道:

'columns' => [ 
     [ 
     'class' => 'yii\grid\SerialColumn', 
     'content' => function($model, $key, $index, $column) { 
      if ($index == 1) { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/medal-gold-icon.png'); 
      }elseif ($index == 2) { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/medal-silver-icon.png'); 
      }elseif ($index == 3) { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/medal-bronze-icon.png'); 
      }else { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/no-medal-icon.png'); 
      } 
     }], 

回答

2

为什么不使用自定义列?

'columns' => [ 
     [ 
     'format' => 'raw', 
     'header' => 'Rank', 
     'value' => function($model, $key, $index, $column) { 
      if ($index == 1) { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/medal-gold-icon.png'); 
      }elseif ($index == 2) { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/medal-silver-icon.png'); 
      }elseif ($index == 3) { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/medal-bronze-icon.png'); 
      }else { 
       return Html::img(Yii::$app->request->BaseUrl.'/images/no-medal-icon.png'); 
      } 
     }], 
+0

我没有想到这一点。很好!谢谢 – gugoan