CGridView显示一个数据项的列表中的一个表。

表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。  CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。

实例代码如下:

  1.  $this->widget('zii.widgets.grid.CGridView'array
  2.  'id'=>'chapter-grid'
  3.  'dataProvider'=>$model->search(),  //数据结果集 
  4.  'filter'=>$model,
  5.  'columns'=>array
  6.        'id'
  7.        //锚点<a href="http://www.gulianqiang.com/"></a> 
  8.        array
  9.               'name'=>'name'
  10.               'type'=>'raw'
  11.               'value'=>'CHtml::link($data->name,"/book/$data->id")'
  12.          ), 
  13.        //图片 
  14.        array
  15.               'name'=>'p_w_picpath'
  16.               'type'=>'p_w_picpath'
  17.               'value'=>'LImages::getPath("book").$data->p_w_picpath',//图片相对路径 
  18.          ), 
  19.         //下拉列表 
  20.         array
  21.               'name'=>'type'
  22.               'value'=>'Lookup::item("chapterType",$data->type)'
  23.               'filter'=>Lookup::items('chapterType'), 
  24.          ), 
  25.        //内容截取 
  26.         array
  27.               'name'=>'content'
  28.               'type'=>'html'
  29.               'value'=>'mb_substr(htmlspecialchars_decode($data->content),0,100,"utf-8")'
  30.          ), 
  31.         //时间 
  32.         array
  33.               'name'=>'create_time'
  34.               'type'=>'datetime'
  35.          ), 
  36.         // 根据相关信息读数据库 
  37.         array
  38.               'name'=>'user_id'
  39.               'value'=>'User::model()->findbyPk($data->user_id)->username'
  40.               'filter'=>false, 
  41.          ), 
  42.   array
  43.    'class'=>'CButtonColumn'
  44.   ), 
  45.  ), 
  46. )); 

以上已经提供常用的数据显示类型。基本可以将使用Yii框架开发web应用使用CGridView的情况都列出。