Yii CGridView详解

原创
2011/09/06 10:54
阅读数 7.3K

CGridView的功能是用来显示的数据列表。它支持排序,分页,和AJAX数据请求。

CGridView最好使用 data provider最好是 CActiveDataProvider

简单代码如下:

$dataProvider=new CActiveDataProvider('Post');

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
));

详细示例:

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'columns'=>array(
        'title',          // display the 'title' attribute
        'category.name',  // display the 'name' attribute of the 'category' relation
        'content:html',   // display the 'content' attribute as purified HTML
        array(            // display 'create_time' using an expression
            'name'=>'create_time',
            'value'=>'date("M j, Y", $data->create_time)',
        ),
        array(            // display 'author.username' using an expression
            'name'=>'authorName',
            'value'=>'$data->author->username',
        ),
        array(            // display a column with "view", "update" and "delete" buttons
            'class'=>'CButtonColumn',
        ),
    ),
));

属性说明:

actionPrefix 方法前辍

afterAjaxUpdate AJAX成功响应后调用的JAVASCRIPT函数

ajaxUpdate 是否启用AJAX请求数据

ajaxUpdateError AJAX失败响应后调用的JAVASCRIPT函数

ajaxUrl AJAX请求的URL

ajaxVar AJAX请求,使用GET方式传送的变量

baseScriptUrl 视图资源的URL

beforeAjaxUpdate 在AJAX调用之前调用的JAVASCRIPT函数

blankDisplay 列标题为空显示的内容

columns 内容列有配置

controller 控制器

cssFile 视图的样式

dataProvider 视图的数据

emptyText 内容为空显示的信息

filterPosition 搜索框所在的位置

 

展开阅读全文
打赏
0
3 收藏
分享
加载中
Flowf博主

引用来自“艹PHP”的评论

我想問下,代碼中'value'=>'$data->author->username', 的$data是不是他默认生成的对象?可以用$data这个对象调用'dataProvider'=>$dataProvider这个数组的数据?如果我在控制器中render了一个数组$testarray过来,在CGridView的value中怎么输出!'value'=>'$testarray[0]'好象没反应!

你在控制器中render一个数组$testarray过来,在CGridView的value里使用是不能加 ' 号的,因为CGridView会把 ' 号里的内容做会方法去处理。
2012/06/05 16:44
回复
举报
我想問下,代碼中'value'=>'$data->author->username', 的$data是不是他默认生成的对象?可以用$data这个对象调用'dataProvider'=>$dataProvider这个数组的数据?如果我在控制器中render了一个数组$testarray过来,在CGridView的value中怎么输出!'value'=>'$testarray[0]'好象没反应!
2012/06/05 15:54
回复
举报
更多评论
打赏
2 评论
3 收藏
0
分享
返回顶部
顶部