我想在视图中制作一些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'即可解决所有这些问题
默认情况下,CGridView中的特殊字符将被编码.尝试将以下内容添加到columns数组中:
'type' => 'raw'
Run Code Online (Sandbox Code Playgroud)
//编辑:糟糕,过快地阅读你的问题.我看到你自己已经找到了解决方案.:)