浅析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将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
php调用nginx的mod_zip模块打包ZIP文件
Jun 11 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
yii框架搜索分页modle写法
Dec 19 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
PHP中str_split()函数的用法讲解
Apr 11 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
PHP重定向的3种方式
2013/03/07 PHP
php数组去重复数据示例
2014/02/25 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
PHP 实现缩略图
2021/03/09 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python三级目录展示的实现方法
2016/09/28 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Python编写万花尺图案实例
2021/01/03 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
《三个小伙伴》教学反思
2014/04/11 职场文书
节约用电通知
2015/04/25 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
户外拓展训练感想
2015/08/07 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
对讲机的最大通讯距离是多少
2022/02/18 无线电