我在过滤CGridView时遇到问题。我在studProg / view中这样做: 在这里,我基于另一个名为kurs的表/模型创建CGridView,我得到了数据,所有这些都没问题。现在我希望能够从另一个表中获取键值并将它们列在我的CGrid中的过滤器选项中。但是,下拉列表不会显示。为什么呢?
以下是我的代码的重要部分:
studProg / view CGridView body:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'kursData',
'dataProvider'=>$kursDataProvider,
'columns'=>array(
array(
'header' => 'Studijska godina',
'type' => 'raw',
'filter' => $model->getStudijskeGodine(),
'value' => '$data->stud_god_god'
),etc..
来自StudProg模型:
public function getStudijskeGodine()
{
$query = 'select god from stud_god';
$rezultat = Yii::app()->db->createCommand($query)->queryAll();
$spisak = CHtml::listData($rezultat, 'god' , 'god');
return $spisak;
}
答案 0 :(得分:0)
首先在网格视图中配置filter
。请注意,自定义过滤器始终适用于name
属性。
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'kursData',
'dataProvider'=>$kursDataProvider,
'filter'=>$model, //Need this property to get the filter.
'columns'=>array(
array(
'header' => 'Studijska godina',
'name'=>'stud_god_god', //Need this filter
'type' => 'raw',
'filter' => $model->getStudijskeGodine(),
'value' => '$data->stud_god_god'
)
答案 1 :(得分:0)
如果您涉及多个表,则需要在模型中配置它们之间的关系,以便在网格中使用它进行过滤。据我所知至少。
您可以在此处找到有关它的更多信息: declaring relationships in Yii