CGridView顯示一個資料項的清單中的一個表。
表中的每一行代表一個資料項的資料,和一個列通常代表一個屬性的物品(一些列可能對應于複雜的表達式的屬性或靜态文本)。 CGridView既支援排序和分頁的資料項。排序和分頁可以在AJAX模式或正常的頁面請求。使用CGridView的一個好處是,當使用者浏覽器禁用JavaScript,排序和分頁自動退化普通頁面請求和仍然正常運作。
執行個體代碼如下:
- $this->widget('zii.widgets.grid.CGridView', array(
- 'id'=>'chapter-grid',
- 'dataProvider'=>$model->search(), //資料結果集
- 'filter'=>$model,
- 'columns'=>array(
- 'id',
- //錨點<a href="http://www.gulianqiang.com/" target="_blank" rel="external nofollow" ></a>
- array(
- 'name'=>'name',
- 'type'=>'raw',
- 'value'=>'CHtml::link($data->name,"/book/$data->id")',
- ),
- //圖檔
- array(
- 'name'=>'p_w_picpath',
- 'type'=>'p_w_picpath',
- 'value'=>'LImages::getPath("book").$data->p_w_picpath',//圖檔相對路徑
- ),
- //下拉清單
- 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的情況都列出。
轉載于:https://blog.51cto.com/liyongjiang/1148218