您现在的位置是:网站首页> 编程资料编程资料
YII2框架中ActiveDataProvider与GridView的配合使用操作示例_php实例_
2023-05-25
325人已围观
简介 YII2框架中ActiveDataProvider与GridView的配合使用操作示例_php实例_
本文实例讲述了YII2框架中ActiveDataProvider与GridView的配合使用操作。分享给大家供大家参考,具体如下:
YII2中ActiveDataProvider可以使用yii\db\Query或yii\db\ActiveQuery的对象,方便我们构造复杂的查询筛选语句。
配合强大的GridView,快速的显示我们想要的数据。
通过上面的两个工具,我们快速的显示用户表信息。用户表结构如下:

我们创建一个用户模型MyUser.php,代码如下:
$query, //设置分页参数 'pagination' => [ //分页大小 'pageSize' => 3, //设置地址栏当前页数参数名 'pageParam' => 'p', //设置地址栏分页大小参数名 'pageSizeParam' => 'pageSize', ], //设置排序 'sort' => [ //默认排序方式 'defaultOrder' => [ 'id' => SORT_DESC, ], //参与排序的字段 'attributes' => [ 'id', 'name', 'sex', 'age' ], ], ]); //如果验证没通过,直接返回 if (!($this->load($params) && $this->validate())) { return $provider; } //增加过滤条件 $query->andFilterWhere(['id' => $this->id]) ->andFilterWhere(['like', 'name', $this->name]) ->andFilterWhere(['sex' => $this->sex]) ->andFilterWhere(['age' => $this->age]); return $provider; } } 然后,创建控制器TestController.php,代码如下:
search(YII::$app->request->get()); return $this->render('test', [ 'model' => $user, 'provider' => $provider, ]); } } 视图页面test.php,代码如下:
'myUserGridView', //设置数据提供器 'dataProvider' => $provider, //设置筛选模型 'filterModel' => $model, 'columns' => [ //复选框列 ['class' => 'yii\grid\CheckboxColumn'], //显示序号列 ['class' => 'yii\grid\SerialColumn'], [ //设置字段显示标题 'label' => 'ID', //字段名 'attribute' => 'id', //格式化 'format' => 'raw', //设置单元格样式 'headerOptions' => [ 'style' => 'width:120px;', ], ], [ 'label' => '姓名', 'attribute' => 'name', 'format' => 'raw', ], [ 'label' => '头像', 'attribute' => 'head_img', 'format' => 'raw', //通过该返回值,我们可以任意控制列数据的显示 //$data指向的是当前行的数据结果集 'value' => function ($data) { return ''; }, ], [ 'label' => '性别', //设置筛选选项 'filter' => [0 => '男', 1 => '女'], 'attribute' => 'sex', 'format' => 'raw', 'value' => function ($data) { return ($data->sex == 0) ? '男' : '女'; } ], [ 'label' => '年龄', 'attribute' => 'age', 'format' => 'raw', ], [ 'header' => '操作', 'class' => 'yii\grid\ActionColumn', //设置显示模板 'template' => '{upd} {del}', //下面的按钮设置,与上面的模板设置相关联 'buttons' => [ 'upd' => function ($url, $model, $key) { return '修改'; }, 'del' => function ($url, $model, $key) { return '删除'; }, ], ], ], ]); ?>
显示结果如下:


更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
您可能感兴趣的文章:
- Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
- 浅析Yii2中GridView常见操作
- yii2.0之GridView自定义按钮和链接用法
- Yii2 GridView实现列表页直接修改数据的方法
- 浅析Yii2 gridview实现批量删除教程
- 浅析Yii2 GridView实现下拉搜索教程
- 浅析Yii2 GridView 日期格式化并实现日期可搜索教程
- yii2使用GridView实现数据全选及批量删除按钮示例
- yii2中结合gridview如何使用modal弹窗实例代码详解
- yii2使用gridView实现下拉列表筛选数据
- Yii2.0小部件GridView(两表联查/搜索/分页)功能的实现代码
- yii2-GridView在开发中常用的功能及技巧总结
相关内容
- YII2框架使用控制台命令的方法分析_php实例_
- YII2框架中添加自定义模块的方法实例分析_php实例_
- YII2框架中日志的配置与使用方法实例分析_php实例_
- YII2框架中查询生成器Query()的使用方法示例_php实例_
- YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例_php实例_
- Laravel框架下的Contracts契约详解_php实例_
- 使用Entrust扩展包在laravel 中实现RBAC的功能_php实例_
- PHP代码加密的方法总结_php技巧_
- YII2框架中behavior行为的理解与使用方法示例_php实例_
- YII2框架中actions的作用与使用方法示例_php实例_
