下面是我在 view.php 文件中的代码
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'myGrid',
'dataProvider' => $model->search(),
'filter' => $model,
'enableSorting' => true,
'columns' => array(
array(
'name' => 'id',
'header' => 'ID',
'value' => $data->id,
),
array(
'header' => 'Value',
'value' => '$data->getValue($data->id)', //getValue($id) is a custom method in the model.php file which returns a value after some calculations
'filter' => $model->listOfFilterValues(), //listOfFilterValues() is a custom method in the model.php file which returns a CHtml::listData
),
),
)
);
如您所见,我在 model.php 文件中使用自定义方法来获取 Value 列(因为我无法从查询中获取它)。出现 gridView 并出现下拉列表。工作到现在都很好。
问题是使用下拉列表(在值列中)的过滤不起作用。(因为它不是查询输出中的列)而且对值列的排序(当我单击列标题时)也不起作用。
有没有办法做到这一点?非常感谢您的帮助。谢谢你。