Yii框架中CGridView的使用方法以及详细示例

阅读更多

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

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

实例代码如下:

widget('zii.widgets.grid.CGridView', array(
 'id'=>'chapter-grid',
 'dataProvider'=>$model->search(),  //数据结果集
 'filter'=>$model,      
 'columns'=>array(
      'id',
      //锚点
       array(
              'name'=>'name',
              'type'=>'raw',
              'value'=>'CHtml::link($data->name,"/book/$data->id")',
         ),
      //图片
       array(
              'name'=>'image',
              'type'=>'image',
              'value'=>'LImages::getPath("book").$data->image',//图片相对路径
         ),
       //下拉列表
        array(
              'name'=>'type',
              'value'=>'Lookup::item("chapterType",$data->type)',
              'filter'=>Lookup::items('chapterType'),
         ),
       //内容截取
        array(
              'name'=>'content',
              'type'=>'html',
              'value'=>'mb_substr(htmlspecialchars_decode($data->content),0,100,"utf-8")',
         ),
               //时间
        array(
              'name'=>'create_time',
              'type'=>'datetime',
         ),
       // 根据相关信息读数据库
        array(
              'name'=>'user_id',
              'value'=>'User::model()->findbyPk($data->user_id)->username',
              'filter'=>false,
         ),
  array(
   'class'=>'CButtonColumn',
  ),
 ),
)); ?>

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

你可能感兴趣的:(yii)