Yii CGridView列值,从模型中实现

时间:2011-05-27 09:27:15

标签: 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,


    ),
));

在订单模型中:

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

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

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

[解决] 只需添加'type'=>这个专栏的'raw'解决了所有这些问题

1 个答案:

答案 0 :(得分:6)

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

'type' => 'raw' 

//编辑:哎呀,读得太快了。我看到你自己已经找到了解决方案。 :)