Yii CGridView使用

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参数。

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *