GridView
数据网格或者说 GridView 小部件是Yii中最强大的部件之一。如果你需要快速建立系统的管理后台, GridView 非常有用。它从数据提供者 data provider 中取得数据并使用 yii\grid\GridView::columns 属性的一组列配置,在一个表格中渲染每一行数据。表中的每一行代表一个数据项的数据,并且一列通常表示该项的属性(某些列可以对应于属性或静态文本的复杂表达式)。
使用GridView操作实例
⒈后台控制器[查询]
CompanyInfo::find(),
'pagination' => [
'pageSize' => 8,
],
]);
//查询数据
return $this->render('list',['data'=>$infoList]);
}
}
2.前台视图[展示]
title = '公司列表';
?>
修改审核状态 ', $url, ['title' => '修改审核状态'] );
},
'delete' => function ($url, $model, $key) {
return Html::a(' 删除', $url, ['title' => '删除'] );
},
],
'headerOptions' => ['width' => '200'], //设置表格属性(例如:宽度)
],
],
]);
?>
$data, //数据源($data为后台查询的数据)
//设计显示的字段(说明:此数组为空,默认显示所有数据库查询出来的字段)
'columns' => [
['attribute' => 'company_name'], //公司名称
['attribute' => 'company_label'], //公司标签
[
'attribute' => '审核状态', //设置属性显示名称
'value'=>function ($model,$key,$index,$column){
// 判断不同值显示不同状态
// [三元换算符]调取数据库status字段列数据判断
return $model->status==1?'已审核':'未审核';
},
],
// 自定义动作列
[
'class' => 'yii\grid\ActionColumn',
//动作列参数 info-update、delete都代表方法
//这里的控制器是Company,两个参数分别访问的是company/info-update、company/delete方法
'template' => '{info-update}{delete}',
'header' => '操作',
'buttons' => [
// 指定每个方法页面显示(可以使图片/任意字)
'info-update' => function ($url, $model, $key) {
return Html::a('
[说明]注意引入对应的类
<?php
use yii\grid\GridView; //引入数据小插件类
use yii\data\ActiveDataProvider; //引入数据源类
use yii\grid\ActionColumn; //引入列显示类
use yii\helpers\Html; //引入辅助表单类
?>