欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

yii2-GridView在開發(fā)中常用的功能及技巧總結(jié)

 更新時間:2017年01月07日 18:10:17   作者:路飛  
本篇文章主要介紹了yii2-GridView在開發(fā)中常用的功能及技巧總結(jié),數(shù)據(jù)網(wǎng)格或者說 GridView 小部件是Yii中最強(qiáng)大的部件之一。有興趣的可以了解一下。

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

例如,

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 屬性配置的.

<?php
use 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']//關(guān)閉分頁
    'firstPageLabel'=>"First",
    'prevPageLabel'=>'Prev',
    'nextPageLabel'=>'Next',
    'lastPageLabel'=>'Last',
   ]
    
  'columns' => [
    ['class' => 'yii\grid\SerialColumn'],//序列號從1自增長
    
    // 數(shù)據(jù)提供者中所含數(shù)據(jù)所定義的簡單的列
    // 使用的是模型的列的數(shù)據(jù)
    'id',
    'username',
    
    // 更復(fù)雜的列數(shù)據(jù)
    [
      'class' => 'yii\grid\DataColumn', //由于是默認(rèn)類型,可以省略 
      'value' => function ($data) {
        return $data->name; 
        // 如果是數(shù)組數(shù)據(jù)則為 $data['name'] ,
        例如,使用 SqlDataProvider 的情形。
      },
    ],
    
    ['label'=>'標(biāo)題','value' => 'title'],
    
    ['label'=>'文章內(nèi)容','format' => 'html','value' => 'content'],
            
    [
      'label'=>'文章類別', 
      /*'attribute' => 'cid',產(chǎn)生一個a標(biāo)簽,點擊可排序*/ 
      'value' => 'cate.cname' //關(guān)聯(lián)表
    ],
    
    [
      //動作列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. 處理時間

數(shù)據(jù)列的主要配置項是 yii\grid\DataColumn::format 屬性。它的值默認(rèn)是使用 \yii\i18n\Formatter 應(yīng)用組件。

[
 '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. 數(shù)據(jù)列有鏈接

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

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

[
  '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'=>'產(chǎn)品狀態(tài)', 
  'attribute' => 'pro_name', 
  'value' => function ($model) {
    $state = [
      '0' => '未發(fā)貨',
      '1' => '已發(fā)貨',
      '9' => '退貨,已處理',
    ];
   return $state[$model->pro_name];
  },
  'headerOptions' => ['width' => '120'] 
]

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)

    Laravel框架數(shù)據(jù)庫CURD操作、連貫操作總結(jié)

    這篇文章主要介紹了Laravel框架數(shù)據(jù)庫CURD操作、連貫操作、鏈?zhǔn)讲僮骺偨Y(jié),本文包含大量數(shù)據(jù)庫操作常用方法,需要的朋友可以參考下
    2014-09-09
  • php實現(xiàn)格式化多行文本為Js可用格式

    php實現(xiàn)格式化多行文本為Js可用格式

    本文給大家分享的是使用php實現(xiàn)格式化多行文本為Js可用格式,思路非常簡單,這里推薦給大家,有需要的小伙伴參考下。
    2015-04-04
  • ThinkPHP 框架實現(xiàn)的讀取excel導(dǎo)入數(shù)據(jù)庫操作示例

    ThinkPHP 框架實現(xiàn)的讀取excel導(dǎo)入數(shù)據(jù)庫操作示例

    這篇文章主要介紹了ThinkPHP 框架實現(xiàn)的讀取excel導(dǎo)入數(shù)據(jù)庫操作,結(jié)合實例形式分析了thinkPHP針對Excel文件的讀取、解析以及數(shù)據(jù)庫的寫入相關(guān)操作技巧,需要的朋友可以參考下
    2020-04-04
  • Laravel中使用Queue的最基本操作教程

    Laravel中使用Queue的最基本操作教程

    Laravel隊列服務(wù)為各種不同的后臺隊列提供統(tǒng)一的API,下面這篇文章主要給大家介紹了關(guān)于Laravel中使用Queue的最基本操作教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 確保Laravel網(wǎng)站不會被嵌入到其他站點中的方法

    確保Laravel網(wǎng)站不會被嵌入到其他站點中的方法

    這篇文章主要介紹了確保Laravel網(wǎng)站不會被嵌入到其他站點中的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 淺談php中curl、fsockopen的應(yīng)用

    淺談php中curl、fsockopen的應(yīng)用

    下面小編就為大家?guī)硪黄獪\談php中curl、fsockopen的應(yīng)用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • YII2.0之Activeform表單組件用法實例

    YII2.0之Activeform表單組件用法實例

    這篇文章主要介紹了YII2.0之Activeform表單組件用法,結(jié)合實例形式Activeform表單組件的具體類型及相關(guān)使用技巧,需要的朋友可以參考下
    2016-01-01
  • ThinkPHP之R方法實例詳解

    ThinkPHP之R方法實例詳解

    這篇文章主要介紹了ThinkPHP的R方法,需要的朋友可以參考下
    2014-06-06
  • PHP中使用extract函數(shù)

    PHP中使用extract函數(shù)

    這篇文章主要介紹了PHP中使用extract函數(shù),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 使用php的HTTP請求的庫Requests實現(xiàn)美女圖片墻

    使用php的HTTP請求的庫Requests實現(xiàn)美女圖片墻

    這篇文章主要介紹了使用php的HTTP請求的庫Requests實現(xiàn)美女圖片墻的方法,十分簡單實用,需要的朋友可以參考下
    2015-02-02

最新評論