浅析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_Flame(Version:Progress)的原代码
Oct 09 PHP
如何使用PHP中的字符串函数
Oct 09 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
PHP implode()函数用法讲解
Mar 08 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
Windows服务器中PHP如何安装redis扩展
Sep 27 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强制下载PDF文件示例
2014/01/17 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Python json模块使用实例
2015/04/11 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
高中毕业生自我鉴定例文
2013/12/29 职场文书
营业员演讲稿
2013/12/30 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
《狼》教学反思
2014/03/02 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
单位租房协议范本
2014/12/03 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
芙蓉镇观后感
2015/06/10 职场文书
《日月潭》教学反思
2016/02/20 职场文书
车位出租协议书范本
2016/03/19 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
SQL注入详解及防范方法
2021/12/06 MySQL
关于使用Redisson订阅数问题
2022/01/18 Redis