【EasyUi DataGrid】批量删除

DataGrid是我们做网页经常使用到的组件之中的一个,对它的操作也无非是增删改查操作。单条数据的增删改相对来说比較简单。添加、改动能够直接在DataGrid中进行,也能够用弹出框的形式把数据装载在文本框等各种控件中呈现给用户,让用户自己主动填写或改动。删除的事稍后再说。个人觉得“查”是最难的。由于它涉及到了表格的各种载入问题等等。假设你觉得这是危言耸听。那就我的期待兴许博客吧!

不知道上边在说什么的能够忽略不计。接下来进行正文部分。这次的DataGrid分三部分来写:批量删除、批量改动。动态载入列。

本文先以最简单的删除操作来开刀,事实上删除操作的重点(不是难点,搞不清楚为什么非常多人非把这两个相提并论)就在传递字符串or传递拼接字符串(≈数组小功能),这两个一个是单条数据的删除。一个就是批量删除了。

一、先来看下效果图

1.选中两项后。点击删除。呈现例如以下效果

2.点击确定后。这两条数据将被删除

本来打算让大家看下数据库的,没想到把数据库的截图贴到这儿来……太影响眼睛的审美了,也没什么必要,所以凭借你的高智商水准,用上边两幅图全然能够说明效果了

二、代码实现

在项目中。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是学习网页设计不可缺少的东西,再者就是要学会看文档。文档相当于一部字典,遇到想做而不会做的时候多番几遍大有裨益

时间: 2024-10-14 11:01:40

【EasyUi DataGrid】批量删除的相关文章

easyui datagrid 批量编辑和提交

前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700, height : 250, columns : [ [ { field : 'code', title : 'Code', width : 100, editor : "vali

[转]easyui datagrid 批量编辑和提交

web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700, height : 250, columns : [ [ { field : 'code', title : 'Code', width : 100, editor : "v

EASYUI datagrid批量修改与提交

http://www.cnblogs.com/szytwo/archive/2012/08/29/2662169.html 前台主要代码: <script type="text/javascript">    $(function() {        var $dg = $("#dg");        $dg.datagrid({            url : "servlet/list",            width

实例:SSH结合Easyui实现Datagrid的批量删除功能

在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状态.便于日后数据库的维护和信息的查询.因此表结构添加一个flag字段 没有改变的代码这里就不写了,发生改变的代码贴出来 1.因为表结构发生变化.所以对应的Student.java和Student.hbm.xml发生改变 [java] view plaincopy package com.model;

使用easyui实现列表的批量删除

使用easyui实现列表的批量删除 首先要做的就是添加一个多选框 <table id="otGrid" nowrap="false" style="height: 330px;"> <thead> <tr> <th data-options="checkbox:true"></th> //就是这个,多选框 在列表的配置选项中 添加一个 singleSelect:fal

bos 第3天(easyui弹窗边界问题、取派员的添加、修改和批量删除)

BOS项目笔记 第3天 今天内容安排: 1.解决window窗口bug 2.bos项目整体需求分析(基础设置.取派.中转.路由.报表) 3.取派员添加功能 4.jQuery easyUI控件datagrid使用方式 5.基于datagrid实现取派员分页查询 6.取派员批量删除和修改 1. 修复window控件bug 将上面的js文件引入jsp页面中 2. 基础设置部分需求分析 整个基础设置部分对应需求文档2.6章节. 2.1 基础档案设置 在其他的系统中通常称为"数据字典".提供基础

JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能

1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建datagrid(掌握) 2.实现取派员分页查询 n 调整页面基于datagrid发送ajax请求 n 创建PageBean封装分页参数 n 定义通用分页查询方法 n 将分页查询结果转为json返回 3.取派员批量删除 n 页面调整 n 服务端实现 4.取派员修改 n 页面调整 n 服务端实现 2 data

jquery easyui datagrid设置行样式 不可删除某行

rowStyler: function (index,row) { if (parseInt(row.ksrs) > 0) { return 'color:red'; } }, onLoadSuccess:function(data){ var rows = data.rows; for (var j = 0; j < rows.length; j++) { if (parseInt(rows[j]["ksrs"]) > 0) { $(".datagrid-

ASP.NET给DataGrid,Repeater等添加全选批量删除等功能(转)

很多情况下,在管理或者查看列表的时候我们需要很需要“全选”这个功能,这在ASP.NET中是非常容易实现的,下面我就将演示一点小代码实现这一功能.  实现全选的还是js的一个小函数:   function  CheckAll(e,itemname){    var aa=document.getElementsByName(itemname);    if(aa==undefined) return;    for (var i=0; i<aa.length; i++)aa[i].checked