浅析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高手?学会“懒惰”的编程
Dec 05 PHP
自己在做项目过程中学到的PHP知识收集
Aug 20 PHP
通过php快速统计某个数据库中每张表的数据量
Sep 04 PHP
php遍历所有文件及文件夹的方法深入解析
Jun 08 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
ThinkPHP3.1基础知识快速入门
Jun 19 PHP
如何使用php实现评委评分器
Jul 31 PHP
PHP实现的数据对象映射模式详解
Mar 20 PHP
PHP实现简单的计算器
Aug 28 PHP
PHP中的异常处理机制深入讲解
Nov 10 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检测useragent版本示例
2014/03/24 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php简单防盗链实现方法
2015/07/29 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
javascript工具库代码
2012/03/29 Javascript
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Python如何使用input函数获取输入
2020/08/06 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
预备党员公开承诺书
2014/05/28 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技