Yii CGridView列值,从模型中实现

Baz*_*zZy 0 php yii

我想在视图中制作一些CGridView表.并且一列应包含DropDown列表.主要问题是,此下拉列表必须由模型生成.

所以,在我看来,我这样做:

$this->widget('zii.widgets.grid.CGridView', array(
                'dataProvider'=>$orders->search(),
                'filter' => $orders,
                'columns' => array(
                    array(
                        'name' => 'actions',
                        'header' => 'Actions',
                        'value' => '$data->actions',
                        'filter' => false,


    ),
));
Run Code Online (Sandbox Code Playgroud)

并在订单模型:

public function getActions() {
    return CHtml::dropDownList('status', $this->status->id,  CHtml::listData(Status::model()->findAll(), 'id', 'title'));
}
Run Code Online (Sandbox Code Playgroud)

我用这个下拉列表的代码得到了相当不错的列值,但所有特殊的chracters编码为lt; QUOT; GT; 等等,只是字符串,而不是html元素.

那么,如何获得真正的html下拉列表?

[已解决]只需为此列添加'type'=>'raw'即可解决所有这些问题

Wyt*_*tse 6

默认情况下,CGridView中的特殊字符将被编码.尝试将以下内容添加到columns数组中:

'type' => 'raw' 
Run Code Online (Sandbox Code Playgroud)

//编辑:糟糕,过快地阅读你的问题.我看到你自己已经找到了解决方案.:)