使用EasyUI实现添加和删除功能

        增删该查是任何一个项目都少不了的功能操作,这篇博文主要简介一下如何使用EasyUI实现添加和删除功能。

        首先,导入EasyUI的js代码:

    <link href="~/EasyuiSource/themes/default/easyui.css" rel="stylesheet" />
    <link href="~/EasyuiSource/themes/icon.css" rel="stylesheet" />

    <script src="~/EasyuiSource/jquery-1.8.0.min.js"></script>
    <script src="~/DiySource/jquery.unobtrusive-ajax.js"></script>

    <script src="~/EasyuiSource/jquery.easyui.min.js"></script>
    <script src="~/EasyuiSource/easyui-lang-zh_CN.js"></script>
    <script src="~/DiySource/datapattern.js"></script></strong></span>

接下来,因为添加需要弹出对话框,所以下面是对添加对话框的布局设置,这里使用了Ajax窗体,参数Add为该form提交到的Action方法。

        

    <div id="addDiv">
            @using (Ajax.BeginForm("Add", new AjaxOptions() { OnSuccess = "afterAdd" }))
            {
                <table>
                    <tr>
                        <td>编号:</td>
                        <td>
                            @Html.TextBox("AdministratorID")
                        </td>
                    </tr>
                    <tr>
                        <td>密码:</td>
                        <td>@Html.TextBox("AdminPassword")</td>
                    </tr>
                    <tr>
                        <td>真实姓名:</td>
                        <td>
                            @Html.TextBox("AdminName")
                        </td>
                    </tr>
                </table>
            }

        </div></strong></span>

        然后就是对添加和删除动作的js方法操作:

        

       //显示弹出添加的对话框
        function showAddFrm() {
            $("#addDiv").css("display", "block");
            $("#addDiv").dialog({
                width: 400,
                height: 300,
                modal: true,
                title: "添加用户信息",
                collapsible: true,
                minimizable: true,
                maximizable: true,
                resizable: true,
                buttons: [{
                    id: 'btnAdd',
                    text: '添加',
                    iconCls: 'icon-add',
                    handler: function () {
                        //让表单提交
                        $("#addDiv form").submit();
                    }
                }, {
                    id: 'btnCancelAdd',
                    text: '取消',
                    iconCls: 'icon-cancel',
                    handler: function () {
                        $("#addDiv").dialog("close");
                    }
                }]
            });
        }

        //添加成功之后执行的代码
        function afterAdd(data) {
            if (data == "ok") {
                //关闭对话框,刷新表
                $("#addDiv").dialog("close");
                //initTable();
                $('#tt').datagrid("reload");
            } else {
                $.messager.alert("提示消息", data);
            }
        }

        //删除用户数据
        function doDelete() {
            //把你选中的 数据查询出来。
            var selectRows = $('#tt').datagrid("getSelections");
            if (selectRows.length < 1) {
                $.messager.alert("提示消息", "请选中要删的数据!");
                return;
            }

            //真删除数据
            //提醒用户是否是真的删除数据
            $.messager.confirm("确认消息", "您确定要删除信息吗?", function (r) {
                if (r) {
                    //真删除了  1,3,4
                    var strIds = "";
                    for (var i = 0; i < selectRows.length; i++) {
                        strIds += selectRows[i].ID + ",";
                    }
                    strIds = strIds.substr(0, strIds.length - 1);
                    //alert(strIds);
                    $.post("/Administrator/DelBy", { ids: strIds }, function (data) {
                        if (data == "ok") {
                            //刷新表格,去掉选中状态的 那些行。
                            $('#tt').datagrid("reload");
                            $('#tt').datagrid("clearSelections");
                        } else {
                            $.messager.alert("删除失败~~", data);
                        }
                    });
                }
            });

        }</strong></span>

        下面,是对表格的初始化相关的js操作,我们主要关心对添加和删除按钮的绑定。

       

<script type="text/javascript">

        $(function () {
            initTable();

            $("#addDiv").css("display", "none"); //隐藏添加对话框
            bindSearcheClick();

        });

        //初始化表格
        function initTable() {
            //把搜素框里的内容提交到后台对数据进行过滤。
            $('#tt').datagrid({
                url: '/Administrator/QueryBy',
                //title: '演示表格使用',
                width: "100%",
                //height: 1400,
                fitColumns: true,
                idField: 'ID',
                loadMsg: '正在加载用户的信息...',
                pagination: true,
                singleSelect: false,
                pageSize: 10,
                pageNumber: 1,
                pageList: [10, 20, 30],
                queryParams: {
                    searchName: $("#searchName").val()
                },
                columns: [[
			{ field: 'ck', checkbox: true, align: 'left', width: 50 },
                        { field: 'ID', width: 50, hidden: true },
			{ field: 'AdministratorID', title: '编号', width: 50 },
                        { field: 'AdminPassword', title: '密码', width: 50 },
                        { field: 'AdminName', title: '真实姓名', width: 50 },
                ]],
                toolbar: [{
                    id: 'btnDownShelf',
                    text: '添加',
                    iconCls: 'icon-add',
                    handler: function () {//给添加按钮绑定事件
                        showAddFrm();
                    }
                }, {
                    id: 'btnDelete',
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {//改删除按钮绑定事件

                        doDelete();
                    }
                }],
                onHeaderContextMenu: function (e, field) {

                },
                onLoadSuccess: function (data) {
                    $(".delUser").unbind("click");
                    $(".delUser").bind("click", function () {
                        alert($(this).attr("uid"));
                        return false;
                    });

                    $(".editUser").unbind("click");
                    $(".editUser").bind("click", function () {
                        //alert($(this).attr("uid"));
                        doEdit($(this).attr("uid"));
                        return false;
                    });
                }
            });
        }

    </script></strong></span>

       

         经过上面的绑定设置后,我们在点击添加按钮后,就会弹出添加对话框,将我们的表单提交到Controller中对应的Action中,因为添加对话框是post提交,所以要在对应的Action上加上[HttpPost]标签。

         

        //3.0添加
        [HttpPost]
        public ActionResult Add(YzAdministratorEntity admin)
        {

            try
            {
                admin.ID = Guid.NewGuid();
                admin.isUsed = true;
                admin.AdminLevel = "管理员";
                adminBLL.Add(admin);

                return Content("ok");
            }
            catch (Exception ex)
            {
                //错误日志处理
                return Content(ex.Message);
            }
        }

        //4.0批量删除
        public ActionResult DelBy(string ids)
        {
            if (string.IsNullOrEmpty(ids))
            {
                return Content("请选中要删除的数据!");
            }

            var adminIds = ids.Split(',');
            Guid[] ass = new Guid[adminIds.Length];
            for (int i = 0; i < adminIds.Length; i++)
            {
                ass[i] = new Guid(adminIds[i]);
            }

            adminBLL.DelBy(a => ass.Contains(a.ID));
            return Content("ok");
        }</strong></span>

        这样,整个流程下来就实现了我们的添加和删除功能。

        总结:在使用EasyUI的过程中,有时候感觉代码和方法之间的调用关系有点凌乱,代码是对现实世界的逻辑抽象,它是准确的、明晰的、逻辑性强的,刚开始敲的时候总有种把控不了的感觉,总结下来主要有两方面原因,一是基础知识掌握的不够牢固,代码经验少;还有一个就是没有从全局上考虑方法之间的调用关系。通过编程,真的能使人的思维方式得到锻炼,只有当思考的方式和代码的逻辑艺术融合到一起,才能够真实写出好的代码来。

时间: 2024-10-25 05:51:25

使用EasyUI实现添加和删除功能的相关文章

FileSystemObject组件新建读取添加修改删除功能实例

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>FileSystemObject组件应该实例</title> </head> <

使用EasyUI实现加入和删除功能

增删该查是不论什么一个项目都少不了的功能操作.这篇博文主要简单介绍一下怎样使用EasyUI实现加入和删除功能. 首先.导入EasyUI的js代码: <link href="~/EasyuiSource/themes/default/easyui.css" rel="stylesheet" /> <link href="~/EasyuiSource/themes/icon.css" rel="stylesheet&quo

Ubuntu下wxWidgets学生公寓管理编程,sqlite3的用法(mysql数据库),窗体,下面是部分添加和删除功能,其他功能可以联系我。。

以下是学生公寓信息管理的增加和删除,仅供参考.. void StuManaFrame::OnAdd(wxCommandEvent &event) { //add student's dormitory infomation sqlite3 *db=NULL; int flag; char *errmsg; flag = sqlite3_open("./stuinfo.db",&db); if(SQLITE_OK != flag) { wxLogMessage("

自定义listView添加滑动删除功能

今天研究了一下android里面的手势,结合昨天学习的自定义View,做了一个自定义的listview,继承自listView,添加了条目的滑动手势操作,滑动后出现一个删除按钮,点击删除按钮,触发一个删除的事件,在事件中进行删除当选行的元素,刷新listview. 一共分为以下几步进行: 1.新建一个按钮的布局文件,用来作为动态添加的按钮:layout_button.xml <?xml version="1.0" encoding="utf-8"?> &

react.js 之 批量添加与删除功能

最近做的CMS需要用到批量添加图片的功能:在添加文件的容器盒子内,有两个内容,分别是:添加按钮与被添加的选择文件组件. 结构分析: 被添加的组件,我们称为:UploadQiNiuFiles(七牛文件上传组件),含一个删除当前组件的删除按钮 添加按钮的事件 被添加组件存放的容器 代码分析: 添加组件存放的容器:<div className="divBorder"> <div className="divBorder"> {addToBtn} /

web测试点整理(四) -- 添加/修改/删除功能

声明:是参考了很多他人的文章以及自己的一些经验做了总结,因为时间久远,也没有留下当时的参考链接,如果涉及引用别人的内容,请留言说明,谢谢 添加.修改 特殊键 是否支持Tab键 是否支持回车键 提示信息 不符合要求的地方是否有错误提示 唯一性 字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性) 数据正确性: 对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查相关联的数

两个栈实现一个队列的添加、删除功能

栈的特点是"先进后出",队列的特点是"先进先出":向队列中依次添加元素n.m,当删除时,先删除应该是n:向栈1中添加元素n.m,当要删除时,把栈1的元素添加到栈2中,元素n刚好位于栈顶,n就会被先删除,正好实现了队列的特点.代码如下,已测. public class Queue { private Stack<String> stackOne=new Stack<String>(); private Stack<String> s

利用FormData,实现上传图片的添加和删除功能

基于bootstrap前端框架的Html代码如下: <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden

用JQ实现基础的添加,插入,删除功能。

在eclipse里面运行代码即可,如果您是其他应用,请选择对您有帮助的代码即可,如果有写错或不懂的地方请联系QQ:1633420056,谢谢,祝学习进步 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><script type="text/javascript" src=&qu