我正在使用CGridView,但其中一个字段是数组['xx','yy','zz',...] 如何显示我搜索到的答案但未找到答案
是否可以使用DropDownlist之类的东西来显示数组中的值
答案 0 :(得分:0)
我在模型中有一个静态数组special_offer
;
它将按值过滤;这是一个下拉列表示例;
我使用数组替换了cgridview
中的字段,如下所示:
array(
'name' => 'special_offer',
'value' => 'Package::$special_offer[$data->special_offer]',
'filter' => Package::$special_offer,
),
答案 1 :(得分:0)
为了在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)',
),