CGridView是Yii框架提供的功能非常强大的控件(姑且这么叫吧,我一时半会儿想不起来一个好名字)。
当你刚开始使用这个控件的时候,极其不爽,但是当你使用久了,了解它,熟练驾驭它之后,你会觉得这个控件的功能是多么的强大。那么我们这篇文字是不是要说这个控件是多么的强大是吗,不是,而是说说使用方法。
想下面这个样子就渲染了一个CGridview的控件在你的页面,
$this->widget(‘zii.widgets.grid.CGridView’, array(
‘id’=>’defect-grid’,
‘dataProvider’=>$dataProvider,
‘filter’=>$model,
‘columns’=>array(
‘sys’
‘status’,
array(
‘class’=>’CButtonColumn’,
),
),
));
但是你发现默认显示出来的除了你的数据之外,控件还给你显示了一个filter,其实就是多了一行,是第一行,可以让你过滤每一列。但是可能有时候你根本不想要这个特性,那么怎么去掉了,很简单,就是将
‘filter’=>$model
这行去掉就可以了。
但是还有可能你只是想让其中的一些列可以filter,不是所有列,怎么办,这个稍稍有点复杂,比如上面的这个例子中,不想让sys这个列别filter,怎么办,变成下面的这样就可以了,关键就在’filter’这个属性,看见了吧,把他的值设为false。
$this->widget(‘zii.widgets.grid.CGridView’, array(
‘id’=>’defect-grid’,
‘dataProvider’=>$dataProvider,
‘filter’=>$model,
‘columns’=>array(
array(
‘name’ => ‘sys’,
‘value’ => ‘$data->sys’,
‘filter’ => false,
),
‘status’,
array(
‘class’=>’CButtonColumn’,
),
),
));
如果你不想使用它提供的最后一列,就是一些button,删除,更新之类的按钮,把
array(
‘class’=>’CButtonColumn’,
),
删除掉。
如果你想完全自定义这些button,就自己写这个array的columns参数。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.