Yii:如何更改CGridView组件中的droplist默认过滤条件

来源:互联网 发布:centos 7 取消待机 编辑:程序博客网 时间:2024/04/27 14:40

用CGridView实现了“文章”列表功能,

其中文章的状态分为Draft,Approved,Rejected,Published四个状态。

默认过滤情况下状态为空,即所有状态的文章都被查询出来显示在列表中。

如果要更改默认过滤情况,如默认显示Draft状态的文章,怎么处理呢?

一般这种情况,我们想到的是更改CGridView下拉列表过滤控件的默认取值,

但在使用CGridView的视图文件List.php中找不到可以添加的地方:

    $this->widget('application.extensions.grid.FGridView', array(    'id'=>'deal-grid',    'dataProvider'=>$model->search(),    'filter'=>$model,    'columns'=>array(        /*array(            'class'=>'CCheckBoxColumn',            'name'=>'id',            'value'=>'$data->id',        ),*/        array(            'header'=>Yii::t('Trade','Status'),            'name'=>'status',            'value'=>'$data->getStatusText()',            'filter'=>$model->getStatusOptions(),            'htmlOptions'=>array('style'=>'width:10%;')                 ),......

其实解决方法在控制器中,在actionList中添加如下代码即可:

        $model = new Vendor('search');        if(isset($_GET['Vendor'])) {            $model->attributes=$_GET['Vendor'];                 } else {            $model->status = 0;//set default status filter to 0           }

iefreer

原创粉丝点击