天天看點

Yii使用CGridView清單

 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/" target="_blank" rel="external nofollow" ></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的情況都列出。

轉載于:https://blog.51cto.com/liyongjiang/1148218

繼續閱讀