国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

yii2-GridView在開發中常用的功能及技巧總結

2024-05-04 23:54:18
字體:
來源:轉載
供稿:網友

數據網格或者說 GridView 小部件是Yii中最強大的部件之一。它有一個屬性名叫 dataProvider ,這個屬性能夠提供一個數據提供者的示例并且可以顯示所提供的數據,即使用 yii/grid/GridView::columns 屬性的一組列配置,在一個表格中渲染每一行數據。

例如,

use yii/helpers/Html;use yii/grid/GridView;													  <?= GridView::widget([	'dataProvider' => $dataProvider,	'filterModel' => $searchModel,	'columns' => [		['class' => 'yii/grid/SerialColumn'],		'id',]);?>

一、表格列

表格的列是通過 GridView 配置項中的 yii/grid/GridView::columns 屬性配置的.

<?phpuse yii/grid/GridView;echo GridView::widget([  'dataProvider' => $dataProvider,    //表格列值搜索功能,注意一定要配合attribute才會顯示  //$searchModel = new ArticleSearch();  'filterModel' => $searchModel,    //重新定義分頁樣式  'layout'=> '{items}<div class="text-right tooltip-demo">{pager}</div>',  'pager'=>[    //'options'=>['class'=>'hidden']//關閉分頁    'firstPageLabel'=>"First",    'prevPageLabel'=>'Prev',    'nextPageLabel'=>'Next',    'lastPageLabel'=>'Last',   ]      'columns' => [    ['class' => 'yii/grid/SerialColumn'],//序列號從1自增長        // 數據提供者中所含數據所定義的簡單的列    // 使用的是模型的列的數據    'id',    'username',        // 更復雜的列數據    [      'class' => 'yii/grid/DataColumn', //由于是默認類型,可以省略       'value' => function ($data) {        return $data->name;         // 如果是數組數據則為 $data['name'] ,        例如,使用 SqlDataProvider 的情形。      },    ],        ['label'=>'標題','value' => 'title'],        ['label'=>'文章內容','format' => 'html','value' => 'content'],                [      'label'=>'文章類別',       /*'attribute' => 'cid',產生一個a標簽,點擊可排序*/       'value' => 'cate.cname' //關聯表    ],        [      //動作列yii/grid/ActionColumn       //用于顯示一些動作按鈕,如每一行的更新、刪除操作。     'class' => 'yii/grid/ActionColumn',     'header' => '操作',      'template' => '{delete} {update}',//只需要展示刪除和更新     'headerOptions' => ['width' => '240'],     'buttons' => [      'delete' => function($url, $model, $key){        return Html::a('<i class="fa fa-ban"></i> 刪除',          ['del', 'id' => $key],           [           'class' => 'btn btn-default btn-xs',           'data' => ['confirm' => '你確定要刪除文章嗎?',]          ]        );       },                 ],     ],      ],]);?>

1. 處理時間

數據列的主要配置項是 yii/grid/DataColumn::format 屬性。它的值默認是使用 /yii/i18n/Formatter 應用組件。

[ 'label'=>'更新日期', 'format' => ['date', 'php:Y-m-d'], 'value' => 'updated_at'],//or[ //'attribute' => 'created_at', 'label'=>'更新時間', 'value'=>function($model){    return date('Y-m-d H:i:s',$model->created_at);   }, 'headerOptions' => ['width' => '170'],],

2. 處理圖片

[  'label'=>'封面圖',  'format'=>'raw',  'value'=>function($m){    return Html::img($m->cover,          ['class' => 'img-circle',          'width' => 30]    );  }],

3. 數據列有鏈接

 [  'attribute' => 'title',  'value' => function ($model, $key, $index, $column) {      return Html::a($model->title,         ['article/view', 'id' => $key]);  },  'format' => 'raw',],

4. 數據列顯示枚舉值(男/女)

[  'attribute' => 'sex',   'value'=>function ($model,$key,$index,$column){     return $model->sex==1?'男':'女';    },    //在搜索條件(過濾條件)中使用下拉框來搜索  'filter' => ['1'=>'男','0'=>'女'],  //or  'filter' => Html::activeDropDownList($searchModel,        'sex',['1'=>'男','0'=>'女'],        ['prompt'=>'全部']   )],[  'label'=>'產品狀態',   'attribute' => 'pro_name',   'value' => function ($model) {    $state = [      '0' => '未發貨',      '1' => '已發貨',      '9' => '退貨,已處理',    ];   return $state[$model->pro_name];  },  'headerOptions' => ['width' => '120'] ]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 平定县| 中卫市| 尖扎县| 晋宁县| 汪清县| 封丘县| 县级市| 孟州市| 阿拉善盟| 博野县| 大丰市| 双牌县| 新闻| 平罗县| 沁水县| 西昌市| 东至县| 肃宁县| 广西| 塔城市| 阿拉善左旗| 青冈县| 夏邑县| 鞍山市| 平潭县| 策勒县| 沛县| 来凤县| 弥勒县| 乡宁县| 秦皇岛市| 和政县| 西平县| 洪湖市| 阳春市| 阳山县| 东乌| 通榆县| 鹿泉市| 清苑县| 上栗县|