浅析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+MSSQL分页的例子
Oct 09 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
php实现无限级分类
Dec 24 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
详解json在php中的应用
Sep 30 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
PHP的new static和new self的区别与使用
Nov 27 PHP
php7 新增功能实例总结
May 25 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 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
paypal即时到账php实现代码
2010/11/28 PHP
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers