zoukankan      html  css  js  c++  java
  • 使用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>password:</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({
                     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操作。我们主要关心对加入和删除button的绑定。

           

    <script type="text/javascript">
    
            $(function () {
                initTable();
    
                $("#addDiv").css("display", "none"); //隐藏加入对话框          
                bindSearcheClick();
    
            });
    
            //初始化表格
            function initTable() {
                //把搜素框里的内容提交到后台对数据进行过滤。
                $('#tt').datagrid({
                    url: '/Administrator/QueryBy',
                    //title: '演示表格使用',
                     "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',  50 },
                            { field: 'ID',  50, hidden: true },
    			{ field: 'AdministratorID', title: '编号',  50 },
                            { field: 'AdminPassword', title: 'password',  50 },
                            { field: 'AdminName', title: '真实姓名',  50 },
                    ]],
                    toolbar: [{
                        id: 'btnDownShelf',
                        text: '加入',
                        iconCls: 'icon-add',
                        handler: function () {//给加入button绑定事件
                            showAddFrm();
                        }
                    }, {
                        id: 'btnDelete',
                        text: '删除',
                        iconCls: 'icon-remove',
                        handler: function () {//改删除button绑定事件
    
                            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>

           

        经过上面的绑定设置后。我们在点击加入button后。就会弹出加入对话框。将我们的表单提交到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的过程中,有时候感觉代码和方法之间的调用关系有点凌乱,代码是对现实世界的逻辑抽象。它是准确的、明晰的、逻辑性强的,刚開始敲的时候总有种把控不了的感觉,总结下来主要有双方面原因。一是基础知识掌握的不够坚固。代码经验少;另一个就是没有从全局上考虑方法之间的调用关系。

    通过编程,真的能使人的思维方式得到锻炼,仅仅有当思考的方式和代码的逻辑艺术融合到一起,才可以真实写出好的代码来。


  • 相关阅读:
    更新证书错误Code Sign error: Provisioning profile ‘XXXX'can't be found
    解决Xcode 5下使用SVN出现 The operation couldn’t be completed. (NSURLErrorDomain error -1012.) 问题
    Android模拟器启动不了解决办法
    在AndroidManifest.xml文件中设置Android程序的启动界面方法
    Windows2008+MyEclipse10+Android开发环境搭配
    ADT下载地址整理
    android:inputType常用取值
    VS2010中使用Jquery调用Wcf服务读取数据库记录
    Linux手动安装netcore3.0
    StdOS之运行指示灯
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5079801.html
Copyright © 2011-2022 走看看