关于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 举报
@infozr: 请教,在这个回调函数里如果想使用controller传递过来的变量,该怎么办啊,在函数内部使用controller传来的变量显示未定义。
共 1 条回复
木初 帝都
注册时间:2014-01-13
最后登录:17小时前
在线时长:314小时43分
最后登录:17小时前
在线时长:314小时43分
- 粉丝39
- 金钱69255
- 威望0
- 积分72395