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] ...
随机推荐
- eclipse代码注释的设置
http://blog.csdn.net/shiyuezhong/article/details/8450578 1. eclipse用户名的设置: 在eclipse的安装路径下,打开eclipse. ...
- JAVA除去制定字符的方法
只需调用replaceAll()方法: public class Test { public static void main(String[] args) { String s= "abc ...
- VS2015 Cordova Ionic移动开发(三)
一.基础设置 1.修改App名称和程序起始页 打开config.xml配置文件显示如下,在[通用]选项卡中,将显示名称和起始页,修改为自己想要的名称即可. 如需直接在xml文件中修改:右击config ...
- 数据库导出excel表数据
- 执行之前 (错误) 消息 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR.出现 OLE DB 错误.错误代码: 0x80040E37. (S ...
- 打造属于前端的Uri解析器
今天和大家一起讨论一下如何打造一个属于前端的url参数解析器.如果你是一个Web开发工程师,如果你了解过后端开发语言,譬如:PHP,Java等,那么你对下面的代码应该不会陌生: $kw = $_GET ...
- Deep Learning 学习随记(四)自学习和非监督特征学习
接着看讲义,接下来这章应该是Self-Taught Learning and Unsupervised Feature Learning. 含义: 从字面上不难理解其意思.这里的self-taught ...
- javascript 之DOM篇
要怎么样的开场白才能使我有力气再更新学习进度呢?啊啊啊啊啊,表示好累啊~~~默念“棒棒棒,我最棒~”召唤精气神开总结敲字咯.哈哈哈. --------------------------------- ...
- 小心DriveInfo类IsReady属性的较大延迟问题
当某些驱动器调用IsReady属性来判断是否准备好时,会有性能问题,会非常慢,特别是网络驱动器断开的时候,这个属性会有30秒左右的延迟,这对程序执行是非常大的开销,请慎重调用
- Fedora 18安装Google输入法和云拼音
由于sunpinyin的词库选词太不准,网友推荐在Fedora 18下使用谷歌拼音及云拼音,于是想要尝试下怎么样.由于fedora 源中谷歌拼音所以选择自行编译,做下记录以备份. #安装fcitx $ ...
- 9张思维导图学习Javascript
分别归类为: javascript变量 javascript运算符 javascript数组 javascript流程语句 javascript字符串函数 javascript函数基础 javascr ...