0

我正在使用 CGridView 但其中一个字段是数组 ['xx' ,'yy' , 'zz',...] 如何显示我已搜索答案但未找到

是否可以使用 DropDownlist 之类的东西来显示数组中的值

4

2 回答 2

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)', 
),
于 2013-04-13T18:57:48.543 回答
0

special_offer在模型中有一个静态数组;

它将按值过滤;这是一个下拉列表示例;

我用数组替换了一个字段cgridview,如下所示:

    array(
        'name' => 'special_offer',
        'value' => 'Package::$special_offer[$data->special_offer]',
        'filter' => Package::$special_offer,
    ),
于 2013-04-13T18:34:18.707 回答