浅析Yii2 gridview实现批量删除教程


Posted in PHP onApril 22, 2016

在朋友圈里有童鞋向我讨论GridView的问题,有朋友说你用gridview给我去掉表头的链接?我想的很久,用gridview确实不容易实现。有不同见解的朋友欢迎留言。但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛。

这个问题也是很简单的,我们来看看具体实现

$dataProvider = new ActiveDataProvider([ 
'query' => $query, 
]); 
$dataProvider->setSort(false);

分分钟搞定不是事。

好了,我们来谈谈主题:如何利用yii2 gridview实现批量删除?

我先说一下几个步骤啊,免得直接贴代码有的小伙伴删了一句去了一句最后失败了!

1、gridview设置options时增加一个id 这里我们命名grid

'options' => [
// ...其他设置项
'id' => 'grid'
],

2、columns增加选项复选框,批量删除必然不可少了复选框操作,这里我们的name值设定为id,方便对数据操作

[
'class' => 'yii\grid\CheckboxColumn',
'name' => 'id',
],

3、页面上我们增加一个批量删除按钮,注意这里我们增加了一个class gridview,方便后面js实现点击效果

<?= Html::a('批量删除', "javascript:void(0);", ['class' => 'btn btn-success gridview']) ?>

4、最后一步,写js实现按钮操作,打开你的console看看,我们很轻松的就拿到了选中的行的id,然后这里就可以异步操作数据了。

<?php
$this->registerJs('
$(".gridview").on("click", function () {
//注意这里的$("#grid"),要跟我们第一步设定的options id一致
var keys = $("#grid").yiiGridView("getSelectedRows");
console.log(keys);
});
');
?>

下面贴上完整代码

GridView::widget([
// ......
'options' => ['class' => 'grid-view','style'=>'overflow:auto', 'id' => 'grid'],
// ......
'columns' => [
// ......
[
'class' => 'yii\grid\CheckboxColumn',
'name' => 'id',
],
// ......
],
]);
$this->registerJs('
$(".gridview").on("click", function () {
var keys = $("#grid").yiiGridView("getSelectedRows");
console.log(keys);
});
');

三水点靠木推荐阅读:

以上内容是小编给大家介绍的Yii2 gridview实现批量删除教程,希望对大家有所帮助!

PHP 相关文章推荐
PHP中的加密功能
Oct 09 PHP
php htmlentities和htmlspecialchars 的区别
Aug 18 PHP
PHP 一个比较完善的简单文件上传
Mar 25 PHP
php下载文件的代码示例
Jun 29 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
php购物车实现方法
Jan 03 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 #PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 #PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 #PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
php简单实现sql防注入的方法
Apr 22 #PHP
PHP简单获取及判断提交来源的方法
Apr 22 #PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 #PHP
You might like
php如何调用webservice应用介绍
2012/11/24 PHP
arguments对象
2006/11/20 Javascript
List the Codec Files on a Computer
2007/06/18 Javascript
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python通过ssh-powershell监控windows的方法
2015/06/02 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
pandas的相关系数与协方差实例
2019/12/27 Python
Python能做什么
2020/06/02 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
电子专业自荐信
2014/07/01 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
2014年教研组工作总结
2014/11/26 职场文书
店面出租协议书范本
2014/11/28 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang