Yii GridView

view中调用CGridView widget的代码如下:

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider' => $userData,
    'columns' => array(
        'id', 
        'username', 
        'fullname', 
        array(
            'dataField' => 'email',
            'dataExpression' => 'CHtml::mailto($data->email)'
        ), 
        'last_login',
        array('class' => 'CRudColumn', 'header' => '操作')
    ),
));?>

 由上代码可知,属性dataProvider用来存储数据,此处数据来自$userData。

下面的代码是生成$userData的,品味一下吧:

$userData = new CActiveDataProvider('User', array(
    'pagination'=>array(
            //所以关于pagination的设置都可以在这里进行
            'pageSize'=>10, 
    ),
    'sort' => array(
        //所以关于csort的设置都可以在这里进行
        'defaultOrder' => 'username'
    )
));
  在email字段中,我们使用了具体设置,用表达式的方式为email制作了链接效果。 在表达式中我们可以用:

$grid (当前gridview实例),
$row(当前行,index从0开始计算),
$data(当前行的model实例),
$this(当前列的实例)。

默认的column类型为CDataColumn, 其他我们暂时还能选择CCheckBoxColumn, CLinkColumn和CRudColumn, 相信以后还会提供更多的类型。

猜你喜欢

转载自hnlixf.iteye.com/blog/1561885
yii