![](/img/trans.png)
[英]Filtering CGridView with CArrayDataProvider in Yii: how?
[英]How to exclude a CActiveRecord property from filtering with CGridView in Yii?
在Yii 1.1應用程序中,我正在使用CGridView
在表中顯示數據。
$dataProvider = $model->search();
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'my-grid',
'dataProvider' => $dataProvider,
'filter' => $model,
'columns' => array(
'id',
'user.firstname',
'user.lastname',
'user.email',
'type',
'foo', // <-- on-the-fly added attribute
'bar', // <-- on-the-fly added attribute
...
),
));
現在,模型表的所有列( id
, type
),甚至即時添加的屬性( foo
, bar
)都將獲得過濾器輸入字段。 (其他屬性的過濾器不起作用。)
我只想為ed id
和tipe
某些字段設置過濾器。 如何僅啟用所需的過濾器/禁用不需要的過濾器?
這是一個解決方法,看起來像一個變通方法-只需明確定義未過濾的屬性,並將每個參數的filter
參數設置為false
:
...
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'my-grid',
'dataProvider' => $dataProvider,
'filter' => $model,
'columns' => array(
'id',
...
'type',
array(
'name' => 'foo',
'filter' => false,
),
array(
'name' => 'bar',
'filter' => false,
),
...
),
));
它可行,但是我認為應該有一個更優雅的解決方案...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.