浅析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 相关文章推荐
屏蔽浏览器缓存另类方法
Oct 09 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
PHP7之Mongodb API使用详解
Dec 26 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP7如何开启Opcode打造强悍性能详解
May 11 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
phpStorm+XDebug+chrome 配置详解
Apr 01 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 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通过header实现文本文件下载的代码
2010/08/08 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php单例模式示例分享
2015/02/12 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现队列的方法
2015/05/26 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python去掉空白行的多种实现代码
2018/03/19 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
金宝贝童装官网:Gymboree
2016/08/31 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
农村党支部先进事迹
2014/01/14 职场文书
大学生个人自荐信
2014/02/24 职场文书
学术会议主持词
2014/03/17 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
小学中队活动总结
2015/05/11 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android