【EasyUi DataGrid】批量删除
DataGrid是我们做网页经常使用到的组件之中的一个,对它的操作也无非是增删改查操作。单条数据的增删改相对来说比較简单。添加、改动能够直接在DataGrid中进行,也能够用弹出框的形式把数据装载在文本框等各种控件中呈现给用户,让用户自己主动填写或改动。删除的事稍后再说。个人觉得“查”是最难的。由于它涉及到了表格的各种载入问题等等。假设你觉得这是危言耸听。那就我的期待兴许博客吧!
不知道上边在说什么的能够忽略不计。接下来进行正文部分。这次的DataGrid分三部分来写:批量删除、批量改动。动态载入列。
本文先以最简单的删除操作来开刀,事实上删除操作的重点(不是难点,搞不清楚为什么非常多人非把这两个相提并论)就在传递字符串or传递拼接字符串(≈数组小功能),这两个一个是单条数据的删除。一个就是批量删除了。
一、先来看下效果图
1.选中两项后。点击删除。呈现例如以下效果
2.点击确定后。这两条数据将被删除
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
本来打算让大家看下数据库的,没想到把数据库的截图贴到这儿来……太影响眼睛的审美了,也没什么必要,所以凭借你的高智商水准,用上边两幅图全然能够说明效果了
二、代码实现
在项目中。client我们用的是MVC框架,当中仅仅用到了视图和控制器。然后通过控制器把数据传递给服务端。
1.在HTML页面中主要就是设置几个DataGrid的属性,这些不用我多说。大家查看帮助文档就OK了。
当数据载入到表格中,选择了要删除的数据后,我们仅仅须要在js中获取这些选中行。然后把标识这些数据行的字符串传递给Controller,代码例如以下:
//删除评分项操作
function DeleteJudgeItem() {
//获取选中行的数据,返回的是数组
//获取选中行的数据
var selectRows = $("#dg").datagrid("getSelections"); //假设没有选中行的话,提示信息
if (selectRows.length < 1) {
$.messager.alert("提示消息", "请选择要删除的记录。", 'info');
return;
} //假设选中行了,则要进行推断
$.messager.confirm("确认消息", "确定要删除所选记录吗?", function (isDelete) { //假设为真的话
if (isDelete) {
//定义变量值
var strIds = "";
//拼接字符串,这里也能够使用数组,作用一样
for (var i = 0; i < selectRows.length; i++) {
strIds += selectRows[i].JudgeId + ",";
}
//循环分割
strIds = strIds.substr(0, strIds.length - 1);
$.post('/JudgeItem/DeleteJudgeItem? id=' + strIds, function (jsonObj) {
if (jsonObj > 0) {
$.messager.alert('提示', '删除成功!');
$("#dg").datagrid("reload"); //删除成功后 刷新页面
} else { $.messager.alert('提示信息', '删除失败,请联系管理员。', 'warning');
}
}, "JSON");
}
});
}
2.在Controller中接收View传过来的信息,然后对这个信息进行解析。变成我们须要的数据,最后调用服务端方法对数据库进行改动
#region 删除评分项 + DeleteJudgeItem() + 王静娜 2015-5-30 18:01:02
public int DeleteJudgeItem()
{
try
{
//获得要删除的评分项JudgeId
string delJudgeId = Request.QueryString["id"];
//通过分割的方式。把要删除的评分项编号取出
string[] judgeId = delJudgeId.Split(',');
//循环调用后台方法删除
for (int i = 0; i < judgeId.Length; i++)
{
//创建新的评分项
Guid JudgeId = new Guid(judgeId[i]);
judgeItemService.DeleteJudgeItem(JudgeId);
}
return 1;
}
catch (Exception)
{
throw new Exception("删除失败,请联系管理员。");
}
}
#endregion
以上就是批量删除的内容了,当中用到的js、jQuery、ajax是学习网页设计不可缺少的东西,再者就是要学会看文档。文档相当于一部字典,遇到想做而不会做的时候多番几遍大有裨益
【EasyUi DataGrid】批量删除的更多相关文章
- easyui datagrid 批量编辑和提交数据
easyui datagrid 行编辑和提交方,废话就不多说了,直接上代码 <div style="margin: 5px;"> <table id=" ...
- easyui datagrid连续删除问题
如果在datagrid中直接将index传给easyui自带的deletRow方法来删除当前点击行,一开始并没有问题,但是当连续删除的时候就或出问题了. 原因是datagrid行是根据datagrid ...
- [转]easyui datagrid 批量编辑和提交
web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg" ...
- Easyui datagrid 批量编辑和提交
<script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.dat ...
- EasyUI - DataGrid 组建 - [ 删除,修改 ]
效果: html代码: <div style="padding-top: 50px; width: 800px; margin: 0 auto;"> <!--使用 ...
- EASYUI datagrid批量修改与提交
http://www.cnblogs.com/szytwo/archive/2012/08/29/2662169.html 前台主要代码: <script type="text/jav ...
- easyui datagrid 取消删除的方法
下面为取消方法 ... { field: 'Guid', title: '操作', width: 80, align: 'center', formatter: function (value, ro ...
- EasyUI DataGrid 实现单行/多行编辑功能
要实现 EasyUI DataGrid 的可编辑很简单,在需要编辑的列添加 editor [编辑器]就可以了. 单行编辑 // 初始化数据列表 function initDatagrid() { $( ...
- 实例:SSH结合Easyui实现Datagrid的批量删除功能
在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状 ...
随机推荐
- 如何实现ADSL宽带用户开机自动拨号与定时拨号
在宽带拨号网络的环境下,要通过手动拨号认证才能上网.下面给大家介绍怎么设置开机自动拨号上网以及定时拨号上网. 这也是为一个叫CHY的2B准备的技术套餐,不需要用到网上说的自动拨号软件,只要在主机上设置 ...
- git常用命令和github
工作区:就是你的工作目录 暂存区:它像个缓存区域,临时保存你的改动 版本区:就是你的git仓库 HEAD:相当于一个指针,指向你最近一次提交后的结果 git status 查看状态 git add . ...
- 【Linux】centos7 添加脚本到/etc/rc.local文件里,实现开机自启
Linux 设置开机自启动,添加命令到/etc/rc.d/rc.local,本文以设置tomcat自启动为例: 一:添加自启动命令 export JAVA_HOME=/usr/java/jdk1.8. ...
- 网络编程 - join及守护线程
一.Join实例(join理解为等待)import threading,timedef run(n): time.sleep(3) print ("task",n)start = ...
- Intel要在中国投35亿美金造这种闪存,3DxPoint技术牛在哪里?
Repost: https://www.leiphone.com/news/201508/bbCUJqS2M3glCY3m.html 编者按: 今年的IDF上,Intel 再次强调了3DxPoint闪 ...
- 洛谷——P1176 路径计数2
P1176 路径计数2 题目描述 一个N \times NN×N的网格,你一开始在(1,1)(1,1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N,N)(N,N),即右下角有 ...
- 1007 Maximum Subsequence Sum (PAT(Advance))
1007 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1, N2, ..., NK }. A ...
- BZOJ 4919 [Lydsy1706月赛]大根堆 (SRM08 T3)
[题解] 求一个序列的LIS有一个二分做法是这样的:f[i]表示长度为i的上升序列中最后一个数最小可以是多少,每次二分大于等于当前数字x的f[j],把f[j]修改为x:如果找不到这样的f[j],那就把 ...
- 一、ECharts简介
ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11 ...
- Sublime text如何设置快捷键让编写的HTML文件在浏览器预览?
STEP 1 Tools->Build System->New Build System STEP 2<img src="https://pic3.zhimg.com/ ...