浅析Yii2 GridView实现下拉搜索教程


Posted in PHP onApril 22, 2016

废话不多说了,先给大家展示下效果图,如果大家还很满意请继续往下阅读:

浅析Yii2 GridView实现下拉搜索教程

具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作

/**
* 下拉筛选
* @column string 字段
* @value mix 字段对应的值,不指定则返回字段数组
* @return mix 返回某个值或者数组
*/
public static function dropDown ($column, $value = null)
{
$dropDownList = [
'is_delete'=> [
'0'=>'显示',
'1'=>'删除',
],
'is_hot'=> [
'0'=>'否',
'1'=>'是',
],
//有新的字段要实现下拉规则,可像上面这样进行添加
// ......
];
//根据具体值显示对应的值
if ($value !== null) 
return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;
//返回关联数组,用户下拉的filter实现
else
return array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;
}

然后我们上代码看看具体怎么实现的下拉搜索

<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
// ......
[
'attribute' => 'is_hot',
'value' => function ($model) {
return Article::dropDown('is_hot', $model->is_hot);
},
'filter' => Article::dropDown('is_hot'),
],
[
'attribute' => 'is_delete',
'value' => function ($model) {
return Article::dropDown('is_delete', $model->is_delete);
},
'filter' => Article::dropDown('is_delete'),
],
// ......
],
]); ?>

像这样,我们就简单地实现了两个下拉效果,要实现筛选功能,在你的dataProvider自定添加该字段的搜索条件即可。

三水点靠木推荐阅读:

关于Yii2 GridView实现下拉搜索教程就给大家介绍这么多,希望对大家有所帮助!

PHP 相关文章推荐
PHP的宝库目录--PEAR
Oct 09 PHP
资料注册后发信小技巧
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
php获取地址栏信息的代码
Oct 08 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
Zend Studio使用技巧两则
Apr 01 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
php 实现银联商务H5支付的示例代码
Oct 12 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 #PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
php简单实现sql防注入的方法
Apr 22 #PHP
PHP简单获取及判断提交来源的方法
Apr 22 #PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 #PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 #PHP
利用php输出不同的心形图案
Apr 22 #PHP
You might like
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
laravel入门知识点整理
2020/09/15 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
Prototype框架详解
2015/11/25 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
vue实现计算器功能
2020/02/22 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python用for循环实现九九乘法表
2018/05/31 Python
python3实现磁盘空间监控
2018/06/21 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
Python中Selenium库使用教程详解
2020/07/23 Python
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
2014年3.15团委活动总结
2014/03/16 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
大明湖导游词
2015/02/03 职场文书
费用申请报告范文
2015/05/15 职场文书
2015年底工作总结范文
2015/05/15 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技