我正在使用 CGridView 但其中一个字段是数组 ['xx' ,'yy' , 'zz',...] 如何显示我已搜索答案但未找到
是否可以使用 DropDownlist 之类的东西来显示数组中的值
为了在 CGridView 列中使用 dropDownList,您的数组需要是关联的。我建议您在模型中创建一个方法,将其转换为关联数组,例如:
public function getAssociativeArray()
{
$array = array('xx', 'yy', 'zz'); // or use an attribute value
return array_combine(array_values($array), $array);
}
然后在您的 CGridView 中,将此添加为一列,用您自己的替换模型/字段名称:
array(
'name' => 'yourFieldName',
'type' => 'raw',
'value' => 'CHtml::activeDropDownList($data, "yourFieldName", YourModel::model()->associativeArray)',
),
我special_offer
在模型中有一个静态数组;
它将按值过滤;这是一个下拉列表示例;
我用数组替换了一个字段cgridview
,如下所示:
array(
'name' => 'special_offer',
'value' => 'Package::$special_offer[$data->special_offer]',
'filter' => Package::$special_offer,
),