浅析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 相关文章推荐
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
PHP冒泡排序算法代码详细解读
Jul 17 PHP
PHP安全性漫谈
Jun 28 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
PHP调用.NET的WebService 简单实例
Mar 27 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 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的魔术常量__METHOD__简介
2014/07/08 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
Javascript 读后台cookie代码
2008/09/15 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
document.write的几点使用心得
2014/05/14 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
Python MD5文件生成码
2009/01/12 Python
深入理解Javascript中的this关键字
2015/03/27 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python实现多线程抓取妹子图
2015/08/08 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
解决python线程卡死的问题
2019/02/18 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
Django URL参数Template反向解析
2020/11/24 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
毕业设计计划书
2014/01/09 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
Python正则表达式中flags参数的实例详解
2022/04/01 Python