Filter 从CgridView过滤器-Yii1中的过滤器中删除空选项

Filter 从CgridView过滤器-Yii1中的过滤器中删除空选项,filter,yii,yii-extensions,cgridview,yii1.x,Filter,Yii,Yii Extensions,Cgridview,Yii1.x,我想删除列表数据值的空选项或第一个选项。我有水果列表模型,它有一个列表,所以我需要防止用户选择全部 但现在的问题是空选项,可以让用户选择所有的水果,所以我如何才能删除 这是我的密码 $this->widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$dataProvider, 'columns'=>array( array( 'header' =>

我想删除列表数据值的空选项或第一个选项。我有
水果列表
模型,它有一个列表,所以我需要防止用户选择全部

但现在的问题是空选项,可以让用户选择所有的水果,所以我如何才能删除

这是我的密码

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(

         array(
            'header' => 'Buyer',
            'name' => 'Buyer',
            'value' => 'customer_name',
            'filter' => $fruits
        ),
        array(
            'header' => 'Fruits',
            'name' => 'fruit_id',
            'value' => '$data->Buyers->FruitList->Name',
            'filter' => $fruits
        ),
        array(            
            'class'=>'CButtonColumn',
        ),
    ),
));

您可以在dataProvider中设置条件,使其返回所有非空值的结果 $dataProvider->criteria->addCondition('fruit_id不为NULL');
我希望它的工作

默认情况下,
CGridView的过滤器
使用空选项呈现下拉列表,以允许禁用过滤。但您可以通过提供自己的下拉列表作为筛选器来覆盖此行为:

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(

         array(
            'header' => 'Buyer',
            'name' => 'Buyer',
            'value' => 'customer_name',
            'filter' => CHtml::activeDropDownList($model, 'customer_name', $fruits),
        ),
        array(
            'header' => 'Fruits',
            'name' => 'fruit_id',
            'value' => '$data->Buyers->FruitList->Name',
            'filter' => CHtml::activeDropDownList($model, 'fruit_id', $fruits)
        ),
        array(            
            'class'=>'CButtonColumn',
        ),
    ),
));
确保在模型中为这些过滤器设置了默认值-在控制器中类似于以下内容:

// ...
$model->fruit_id = FruitList::DEFAULT_ID;
$model->customer_name = FruitList::DEFAULT_ID;
if (isset($_GET['FruitList'])) {
    $model->setAttributes($_GET['FruitList']);
}
$dataProvider = $model->search();
// ...

解决了这个问题。谢谢。-@rob006