关于YII2中的 GridView [ 求助交流 ]
GridView::widget 里面怎么去自定义一个字段,,比如  订单状态,数据库里存的是1 2 3
怎么去对应的去显示。。
难道只能在模板里判断么
在1里面这样实现的
第一步: 设置视图:admin.php
$this->widget('zii.widgets.grid.CGridView', array(
     'id'=>'mz-qingcomment-grid',
     'dataProvider'=>$model->search(),
     'filter'=>$model,
     'columns'=>array(
         'id',
         'content',
         array(
             'name'=>'type',
             'type'=>'raw',
             //调用controller下面的方法get_type_text,$this就是当前controller。 会自动传入值。
            'value'=>array($this,'get_type_text'),   //调用自定义的函数
            'htmlOptions'=>array('width'=>"90px"),   //设置样式
        ),        
       array( 'class'=>'CButtonColumn'  ),
     ),
 ));
第二步:在Controller控制器中写函数:
//判断推荐的类型   $data 代表行数据,$row 代表行号。
public function get_type_text($data,$row){
         $type = $data->type;
         if( $type == 1 ) {
             echo '待审核';
         }elseif( $type == 2 ) {
             echo '已审核';
         }elseif( $type == 3 ) {
             echo '未通过';
         }
}
但是在2 里面就不可以这样用了,不知道为什么,,实在不想把 判断信息写在模板里,求大神相助。,
共 6 条回复
- 
 <?=GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ [ 'attribute' => 'state', 'label'=>'状态', 'value'=> function($model){ return $model->isValid==1?"有效":"无效"; }, ], ], ]); ?>共 1 条回复八宝粥 觉得很赞
- 
  
- 
  
- 
  
- 
 jie414341055 回复于 2014-12-05 14:54 举报 jie414341055 回复于 2014-12-05 14:54 举报@infozr: 请教,在这个回调函数里如果想使用controller传递过来的变量,该怎么办啊,在函数内部使用controller传来的变量显示未定义。 共 1 条回复
- 
  
木初 帝都
            注册时间:2014-01-13
最后登录:2025-10-20
在线时长:320小时33分
    最后登录:2025-10-20
在线时长:320小时33分
- 粉丝39
- 金钱75065
- 威望0
- 积分78265


