Yii 从CGridView筛选器的listData中删除空选项

Yii 从CGridView筛选器的listData中删除空选项,yii,filter,cgridview,Yii,Filter,Cgridview,我想删除列表数据值的空选项或第一个选项。 我有Bankaccount模型,它有一个列表,所以我需要防止用户选择全部 我已经选择了该列表中的第一个作为默认值,但现在的问题是空选项可以让用户选择所有银行帐户仍然存在,所以我如何才能删除 这是我的密码 array( 'name' => 'bank_account_id', 'type' => 'raw', 'value' => '$data->bankaccount->Ban

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

我已经选择了该列表中的第一个作为默认值,但现在的问题是空选项可以让用户选择所有银行帐户仍然存在,所以我如何才能删除

这是我的密码

array(
        'name' => 'bank_account_id',
        'type' => 'raw',
        'value' => '$data->bankaccount->BankAccountName', 
        'filter' => Chtml::listData(Bankaccount::model()->findAll(array('order' => 'name  DESC')), "id", "BankAccountName"),
    ),
对于过滤器部分

'filter' => Chtml::dropdownList('Bank[bank_account_id]' , 'selectedDefault',
    Chtml::listData(Bankaccount::model()->findAll(array('order' => 'name  DESC')), "id", "BankAccountName"),
    ),
),
若你们看一下这个生成过滤器,你们会发现当它在输入端得到一个数组时,它总是添加一个空选项。因此,隐藏空选项的唯一方法是手动生成selectbox:

'filter' => CHtml::activeDropDownList(Bank::model(), 'bank_account_id',
    Chtml::listData(Bankaccount::model()->findAll(array('order' => 'name  DESC')), "id", "BankAccountName"),
    ),
),

使用CHtml::activeDropDownList将在选择框名称中为您提供银行[银行账户id]

谢谢tinybyte,是的,它删除了空选项,但筛选不起作用,这就是结果银行1银行2银行1银行2您应该这样命名:
银行[银行账户id]
,这将修复过滤器,检查gridview发送的ajax参数