在YII1.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)都会得到一个过滤器输入字段。(附加属性的筛选器不起作用。)
我只想为一些领域安装过滤器,e.d。id和tipe.如何只启用我需要的过滤器/禁用我不需要的过滤器?
发布于 2015-06-19 17:39:33
下面是一个解决方案,看起来像是一个解决方案--只需显式地定义未过滤的属性,并将每个属性的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,
),
...
),
));很有效,但我认为,应该有一个更优雅的解决方案.
https://stackoverflow.com/questions/30941118
复制相似问题