EasyUI-DataGrid之批量删除
简单介绍一下,涉及到的几个知识点:
1.checkbox,多选
2.前台到后台传值,我用的是字符串拼接,到了后台在拆分的方式
3.批量删除的底层实现
效果图
前台view
- <table id="list_data" class="easyui-datagrid" style="width:1075px;height:300px" cellpascing="0" cellpadding="0" ></table>
 
- $(function () {
 - $('#dg').datagrid({
 - title: '查询结果',
 - iconCls: 'icon-view', //图标
 - width: 100,
 - height: 'auto',
 - nowrap: false,
 - striped: true,
 - border: true,
 - collapsible: true, //是否可折叠
 - fit: true, //自动大小
 - url: "/EvaluationTemplate/GetData", //传值
 - remoteSort: false,
 - pagination: false, //分页控件
 - rownumbers: false, //行号
 - singleSelect: false, //允许选择多行
 - selectOnCheck: true,//true勾选会选择行,false勾选不选择行, 1.3以后有此选项。重点在这里
 - checkOnSelect: true, //true选择行勾选,false选择行不勾选, 1.3以后有此选项
 - columns: [[
 - { field: 'ck', checkbox: true, width: '30' }, //复选框
 - { field: 'TemplateName', title: '模板名称', width: '100' }, //课程类型名称
 - ]],
 - });
 - });
 
- function deletedata() {
 - //返回选中多行
 - var selRow = $('#dg').datagrid('getSelections')
 - //判断是否选中行
 - if (selRow.length==0) {
 - $.messager.alert("提示", "请选择要删除的行!", "info");
 - return;
 - }else{
 - var temID="";
 - //批量获取选中行的评估模板ID
 - for (i = 0; i < selRow.length;i++) {
 - if (temID =="") {
 - temID = selRow[i].TemplateId;
 - } else {
 - temID = selRow[i].TemplateId + "," + temID;
 - }
 - }
 - $.messager.confirm('提示', '是否删除选中数据?', function (r) {
 - if (!r) {
 - return;
 - }
 - //提交
 - $.ajax({
 - type: "POST",
 - async: false,
 - url: "/EvaluationTemplate/DelTem?id=" + temID,
 - data: temID,
 - success: function (result) {
 - if (result.indexOf("t") <= 0) {
 - $('#dg').datagrid('clearSelections');
 - $.messager.alert("提示", "恭喜您,信息删除成功!", "info");
 - $('#dg').datagrid('reload');
 - } else {
 - $.messager.alert("提示", "删除失败,请重新操作!", "info");
 - return;
 - }
 - }
 - });
 - });
 - }
 - };
 
解说:根据本篇博客性质,所以,大家重点看
“ selectOnCheck:true,//true勾选会选择行,false勾选不选择行, 1.3以后有此选项。重点在这里
checkOnSelect: true,//true选择行勾选,false选择行不勾选,1.3以后有此选项 ”这两行代码。听着挺绕,其实就是复选框和选中行的颜色一致。一旦选中,复选框和具体某一行都变。
还有循环写入选中行的模板ID,主要利用选中行,getselections的属性,获取个数,循环写入。
Controller.cs
- #region 删除模板
 - /// <summary>
 - /// 删除模板,批量删除,返回值是布尔值
 - /// </summary>
 - /// <returns>返回值是布尔值</returns>
 - public bool DelTem()
 - {
 - //从前台获取字符串拼接,在这里先不转换成数组
 - String strTemId= Request.QueryString["id"].ToString();
 - bool bltem = template.DelTemplate(strTemId);
 - return bltem;
 - }
 - #endregion
 
解说:controller在这里只是作为一个数据传输的纽带。
服务端
- //拆分字符串,放入数组中
 - string[] strTemplateId = strTemplateIdAll.Split(',');
 - #region 根据条件删除 void DelBy(Expression<Func<T, bool>> delWhere)
 - /// <summary>
 - /// 根据条件删除
 - /// </summary>
 - /// <param name="delWhere">删除条件</param>
 - public void DelBy(Expression<Func<T, bool>> delWhere)
 - {
 - //1查询要删除的数据
 - List<T> listDeleting = MyBaseDbContext.Set<T>().Where(delWhere).ToList();
 - //2将要删除的数据 用删除方法添加到 EF 容器中
 - listDeleting.ForEach(u =>
 - {
 - MyBaseDbContext.Set<T>().Attach(u);//先附加到 EF容器
 - MyBaseDbContext.Set<T>().Remove(u);//标识为 删除 状态
 - });
 - }
 - #endregion
 
解说:依旧是底层类库,底层使用EF,涉及到lambda表达式,批量删除实现原理都是一样的,具体实现自己来做吧。
EasyUI-DataGrid之批量删除的更多相关文章
- 【EasyUi DataGrid】批量删除
		
DataGrid是我们做网页经常使用到的组件之中的一个,对它的操作也无非是增删改查操作.单条数据的增删改相对来说比較简单.添加.改动能够直接在DataGrid中进行,也能够用弹出框的形式把数据装载在文 ...
 - 实例:SSH结合Easyui实现Datagrid的批量删除功能
		
在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状 ...
 - easyui datagrid 多行删除问题
		
问题: var selected = $("#tbList").datagrid("getSelections"); selected的选中项 会包含上次已删掉 ...
 - 使用easyui实现列表的批量删除
		
使用easyui实现列表的批量删除 首先要做的就是增加一个多选框 <table id="otGrid" nowrap="false" style=&quo ...
 - asp.net mvc4 easyui datagrid 增删改查分页 导出 先上传后导入 NPOI批量导入 导出EXCEL
		
效果图 数据库代码 create database CardManage use CardManage create table CardManage ( ID ,) primary key, use ...
 - ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
		
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
 - ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)
		
前言 有时候我们的后台系统表单比较复杂,做过进销存或者一些销售订单的都应该有过感觉 虽然Easyui Datagrid提供了行内编辑,但是不够灵活,但是我们稍微修改一下来达到批量编辑,批量删除,批量添 ...
 - JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能
		
1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...
 - EasyUI datagrid 删除的时候无法正确找到重复记录row index的问题
		
EasyUI datagrid 删除的时候无法正确找到重复记录row index的问题: 如果无法正确找到重复记录的row index,就需要进行注意添加的时候所进行的 操作:如果添加的时候就是添加的 ...
 - ASP.NET给DataGrid,Repeater等添加全选批量删除等功能
		
很多情况下,在管理或者查看列表的时候我们需要很需要“全选”这个功能,这在ASP.NET中是非常容易实现的,下面我就将演示一点小代码实现这一功能. 实现全选的还是js的一个小函数: [code] ...
 
随机推荐
- asp.net数据导出到excel表格,并设置表格样式
			
1.首先在项目中添加引用
 - mksquash_lzma-3.2 编译调试记录
			
今天在编译mksquash_lzma-3.2的时候出现了如下问题: /home/test/RT288x_SDK/toolchain/mksquash_lzma-3.2/lzma443/C/7zip/C ...
 - oracle-绑定变量学习笔记(未完待续)
			
--定义变量SQL> var a number; --给绑定变量赋值SQL> exec :a :=123; PL/SQL procedure successfully completed. ...
 - Xcode 7:Storyboard Reference、Strong IBOutlet以及Scene Dock
			
本文由CocoaChina译者小袋子(博客)翻译原文:Storyboard Reference, Strong IBOutlet, Scene Dock in iOS 9 在这个教程中,我想要聊一些有 ...
 - ajax 操作全局监测,用户session失效
			
jQuery(function ($) { // 备份jquery的ajax方法 var _ajax = $.ajax; // 重写ajax方法,先判断登录在执行success函数 $.ajax = ...
 - JavaScript_变量的自动转换和语句
			
JS自动类型转换 var a = 1; var b = true; "==" 表示 可以自动类型转换,比较的是数值 "===" 表示可以自动类型转换,先比较数值 ...
 - Spring 创建bean的时机
			
默认在启动spring容器的时候,spring容器配置文件中的类就已经创建完成对象了 在<bean>中添加属性lazy-init,默认值为false. true 在c ...
 - PHPCMS(2)PHPCMS V9 环境搭建(转)
			
转自:http://www.cnblogs.com/Braveliu/p/5072920.html PHPCMS V9的学习总结分为以下几点: [1]PHPCMS 简介 PHP原始为Personal ...
 - WIN7下运行hadoop程序报:Failed to locate the winutils binary in the hadoop binary path
			
之前在mac上调试hadoop程序(mac之前配置过hadoop环境)一直都是正常的.因为工作需要,需要在windows上先调试该程序,然后再转到linux下.程序运行的过程中,报Failed to ...
 - linux常用指令(飞天云)
			
1.svn相关指令 svn co svn://... //check out 到本地 2.pangu相关 pu cpdir pangu://... //复制pangu里面对应的文件夹到本 ...