代码经过精心改良,可以直接使用,具体看注释吧.
1,前台,代码如下:
    
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LineInfoManagement.aspx.cs" Inherits="LMX.XiAnPeiHua.Web.Admin.UnitManagement.LineInfoManagement" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>线路信息设置</title>
    <script src="/js/jquery-1.7.1.min.js"></script>
    <script src="/js/jquery-easyui-1.4.2/jquery.easyui.min.js"></script>
    <script src="/js/jquery-easyui-1.4.2/locale/easyui-lang-zh_CN.js"></script>
    <link href="/js/jquery-easyui-1.4.2/themes/metro-blue/easyui.css" rel="stylesheet" />
    <link href="/js/jquery-easyui-1.4.2/themes/icon.css" rel="stylesheet" />
    <link href="/css/style.css" rel="stylesheet" />
    <link href="/css/admin.css" rel="stylesheet" />
    <script type="text/javascript">
        $(document).ready(function () {
            fLoadTable();//加载参数
            $('#tt').datagrid('reload', {
                Method: 'FirstLoad'
            });
            $('#unit_id').combobox({
                onSelect: function (rec) {
                    //alert(rec.ID);
                    //$('#site_id').combobox('reload', location.href + '?type=LoadSite&UnitID=' + rec.ID);
                    var vUrl = '/Admin/UnitManagement/LineInfoManagement.aspx?type=LoadSite&UnitID=' + rec.ID;
                    $('#site_id').combobox({
                        url: vUrl,
                        onLoadSuccess: function () {
                            var data = $('#site_id').combobox('getData');
                            if (data.length > 0) {
                                $('#site_id').combobox('select', data[0].ID);
                            }
                            else {
                                $('#site_id').combobox('clear');
                            }
                        }
                    })
                }
            });
        })
        function fLoadTable() {
            $('#tt').datagrid({
                title: '',
                url: location.href,
                pagination: true,
                pageSize: 20,
                pagePosition: 'top',
                striped: true,
                //singleSelect: true,
                ctrlSelect: true,//在启用多行选择的时候允许使用Ctrl键+鼠标点击的方式进行多选操作。
                rownumbers: true,
                columns: [[
                    { field: 'unit_id', title: 'unit_id', align: 'center', hidden: true },
                    { field: 'site_id', title: 'site_id', align: 'center', hidden: true },
                    { field: 'line_id', title: 'line_id', align: 'center', hidden: true },
                    { field: 'ckey', title: '线路编号', align: 'center' },
                    { field: 'name', title: '线路名称', align: 'center' },
                    { field: 'remark', title: '备注', align: 'center' }
                ]],
                toolbar: [{
                    text: '增加',
                    iconCls: 'icon-add',
                    handler: function () {
                        $('#dlg').dialog('open').dialog('setTitle', '新增线路信息');
                        $('#dlg_form').form('clear');
                        $('#unit_id').combo('readonly', false);    // 禁用只读模式
                        $('#site_id').combo('readonly', false);    // 禁用只读模式
                        $('#unit_id').combobox('reload', '/Admin/UnitManagement/LineInfoManagement.aspx?type=LoadUnit');
                        vUrl = '/Admin/UnitManagement/LineInfoManagement.aspx?type=add';
                    }
                }, {
                    text: '修改',
                    iconCls: 'icon-edit',
                    handler: function () {
                        var row = $('#tt').datagrid('getSelected');
                        if (row) {
                            $('#dlg').dialog('open').dialog('setTitle', '修改线路信息');
                            $('#unit_id').combobox('reload', '/Admin/UnitManagement/LineInfoManagement.aspx??type=LoadUnit');
                            $('#site_id').combobox('reload', '/Admin/UnitManagement/LineInfoManagement.aspx?type=LoadSite');
                            $('#dlg_form').form('load', row);
                            $('#unit_id').val(row.unit_id);
                            $('#site_id').val(row.line_id);
                            $('#ckeyPre').val(row.site_id);
                            $('#unit_id').combo('readonly', true);    // 启用只读模式
                            $('#site_id').combo('readonly', true);    // 启用只读模式
                            vUrl = '/Admin/UnitManagement/LineInfoManagement.aspx?type=modify&line_id=' + row.line_id;
                        } else {
                            $.messager.alert('请至少选中一项作为修改项.')
                        }
                    }
                }, '-', {
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {
                        var row = $('#tt').datagrid('getSelected');
                        if (row) {
                            $.messager.confirm('提示', '您确定要删除这个线路信息吗?', function (r) {
                                if (r) {
                                    vUrl = '/Admin/UnitManagement/LineInfoManagement.aspx?type=del&site_id=' + row.site_id + '&unit_id=' + row.unit_id + '&line_id=' + row.line_id;
                                    $.ajax({
                                        type: "POST",
                                        url: vUrl,
                                        success: function (json) {
                                            var json = eval('(' + json + ')');
                                            if (json.result == true) {
                                                $.messager.show({
                                                    title: 'Success',
                                                    msg: '删除成功!'
                                                });
                                                $('#dlg').dialog('close');
                                                // close the dialog
                                                $('#tt').datagrid('reload'); // reload the user data
                                            } else {
                                                $.messager.show({
                                                    title: 'Error',
                                                    msg: '删除失败,请稍后再试!'
                                                });
                                                $('#dlg').dialog('close');
                                                // close the dialog
                                                $('#tt').datagrid('reload'); // reload the user data
                                            }
                                        }
                                    });
                                }
                            });
                        }
                        else {
                           $.messager.alert("请至少选中一项作为删除项");

                        }
                    }
                }]
            });
        };
        function fSaveData() {
            $('#dlg_form').form('submit', {
                url: vUrl,
                onSubmit: function () {
                    return $(this).form('validate');
                },
                success: function (sjson) {
                    var json = eval('(' + sjson + ')');
                    if (json.result == true) {
                        $.messager.show({
                            title: 'Success',
                            msg: json.msg ? json.msg : '操作成功!'
                        });
                        $('#dlg').dialog('close');     // close the dialog
                        $('#tt').datagrid('reload'); // reload the user data
                    } else {
                        $.messager.show({
                            title: 'Error',
                            msg: json.msg ? json.msg : '操作失败,请稍后再试!'
                        });
                        $('#dlg').dialog('close');     // close the dialog
                    }
                },
                error: function () {
                    $.messager.show({
                        title: 'Error',
                        msg: json.msg ? json.msg : '操作失败,请稍后再试!'
                    });
                    $('#dlg').dialog('close');     // close the dialog
                }
            });
        }
    </script>
</head>
<body>
    <div class="divForTable">
        <table id="tt" style="width: 100%; height: 600px; $(this).width() * 0.2;">
        </table>
    </div>
    <div id="dlg" class="easyui-dialog" style="width: 300px; height: 350px; padding: 5px 10px"
        data-options="closed:true,buttons:'#dlg-buttons',modal:true">
        <form id="dlg_form" method="post">
            <div class="fitem">
                <label>所属电网:</label>
                <input id="unit_id" name="unit_id" class="easyui-combobox" required="true" data-options="valueField:'ID',textField:'Name',editable:false" />
            </div>
            <div class="fitem">
                <label>所属变电所:</label>
                <input id="site_id" name="site_id" class="easyui-combobox" required="true" data-options="valueField:'ID',textField:'Name',editable:false" />
            </div>
            <%-- <div class="fitem">
                <label>线路编号:</label>
                <input name="ckeyPre" id="ckeyPre" class="easyui-validatebox" readonly="true" style="width: 30px;" />
            </div>--%>
            <div class="fitem">
                <label>名称:</label>
                <input name="name" id="name" class="easyui-validatebox" required="true" />
            </div>
            <div class="fitem">
                <label>备注:</label>
                <input name="remark" id="remark" class="easyui-validatebox" />
            </div>
            <div class="line" style="margin-top: 15px;">
                说明:线路编号由8位数字组成,前5位是所属变电所编号,最后3位代表线路内部编号.(编号在前端不显示,后台自动添加)
            </div>
        </form>
    </div>
    <div id="dlg-buttons">
        <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-ok" onclick="fSaveData()">保存
        </a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel"
            onclick="javascript:$('#dlg').dialog('close')">取消
        </a>
    </div>
</body>
</html>

2,后台代码如下:
       protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["from"] == "LoadF_ParentItemCode")
                {
                    using (item_energyEntities ent = new item_energyEntities())
                    {
                        List<t_dt_energyitemdict> list = (from c in ent.t_dt_energyitemdict where c.F_EnergyItemType == "A" select c).ToList();
                        if (list != null && list.Count != 0)
                        {
                            var vData = from m in list select new { ID = m.F_EnergyItemCode, Name = m.F_EnergyItemName };
                            Response.Write(JsonHelper.Serialize(vData));
                        }
                        else
                        {
                            Response.Write(null);
                        }
                        Response.End();
                    }
                }
                if (Request.Form["Method"] == "FirstLoad")
                {
                    List<t_dt_energyitemdict> list = DataLoader.GetEnergyItemList();
                    int page = string.IsNullOrWhiteSpace(Request["page"]) ? 1 : Int32.Parse(Request["page"]);
                    int rows = string.IsNullOrWhiteSpace(Request["rows"]) ? 1 : Int32.Parse(Request["rows"]);
                    string order = string.IsNullOrWhiteSpace(Request["order"]) ? "ASC" : Request["order"].ToUpper();
                    string sort = string.IsNullOrWhiteSpace(Request["sort"]) ? "ID" : Request["sort"];
                    IQueryable<t_dt_energyitemdict> query = CommonTools.DataSorting<t_dt_energyitemdict>(list.AsQueryable(), sort, order).Skip((page - 1) * rows).Take(rows);
                    Response.Write(JsonHelper.Serialize(new { total = list.Count, rows = query }));
                    Response.End();
                }
                if (Request.QueryString["type"] == "add")
                {
                    string strMsg;
                    if (AddObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "modify")
                {
                    string strMsg;
                    if (ModifyObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "del")
                {
                    string strMsg;
                    if (DelObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
            }
        }
        /// <summary>
        /// 增加一个对一个对象.
        /// </summary>
        /// <returns></returns>
        private bool AddObject(out string strMsg)
        {
            string F_EnergyItemCode = Request.Form["F_EnergyItemCode"];
            string F_EnergyItemName = Request.Form["F_EnergyItemName"];
            string F_ParentItemCode = Request.Form["F_ParentItemCode"];
            string F_EnergyItemType = Request.Form["F_EnergyItemType"];
            string F_EnergyItemUnit = Request.Form["F_EnergyItemUnit"];
            string F_EnergyItemFml = Request.Form["F_EnergyItemFml"];
            string F_EnergyItemState = Request.Form["F_EnergyItemState"];
            short sF_EnergyItemState = 0;
            if (short.TryParse(F_EnergyItemState, out sF_EnergyItemState))
            {
                sF_EnergyItemState = short.Parse(F_EnergyItemState);
            }
            bool bPass = false;
            try
            {
                using (item_energyEntities ent = new item_energyEntities())
                {
                    t_dt_energyitemdict aNewModel = new t_dt_energyitemdict()
                    {
                        F_EnergyItemCode = F_EnergyItemCode,
                        F_EnergyItemState = sF_EnergyItemState,
                        F_EnergyItemType = F_EnergyItemType,
                        F_EnergyItemUnit = F_EnergyItemUnit,
                        F_EnergyItemName = F_EnergyItemName,
                        F_EnergyItemFml = F_EnergyItemFml,
                        F_ParentItemCode = F_ParentItemCode
                    };
                    ent.t_dt_energyitemdict.Add(aNewModel);
                    if (ent.SaveChanges() > 0)
                    {
                        bPass = true;
                        strMsg = "增加成功。";
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "增加失败,请稍后再试。";
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                bPass = false;
            }
            return bPass;
        }
        /// <summary>
        /// 更新一个对象.
        /// </summary>
        /// <returns></returns>
        private bool ModifyObject(out string strMsg)
        {
            string F_EnergyItemCode = Request.Form["F_EnergyItemCode"];
            string F_EnergyItemName = Request.Form["F_EnergyItemName"];
            string F_ParentItemCode = Request.Form["F_ParentItemCode"];
            string F_EnergyItemType = Request.Form["F_EnergyItemType"];
            string F_EnergyItemUnit = Request.Form["F_EnergyItemUnit"];
            string F_EnergyItemFml = Request.Form["F_EnergyItemFml"];
            string F_EnergyItemState = Request.Form["F_EnergyItemState"];
            short sF_EnergyItemState = 0;
            if (short.TryParse(F_EnergyItemState, out sF_EnergyItemState))
            {
                sF_EnergyItemState = short.Parse(F_EnergyItemState);
            }
            bool bPass = false;
            try
            {
                using (item_energyEntities ent = new item_energyEntities())
                {
                    t_dt_energyitemdict aModel = (from c in ent.t_dt_energyitemdict where c.F_EnergyItemCode == F_EnergyItemCode select c).FirstOrDefault();
                    if (aModel != null)
                    {
                        aModel.F_EnergyItemCode = F_EnergyItemCode;
                        aModel.F_EnergyItemName = F_EnergyItemName;
                        aModel.F_ParentItemCode = F_ParentItemCode;
                        aModel.F_EnergyItemType = F_EnergyItemType;
                        aModel.F_EnergyItemUnit = F_EnergyItemUnit;
                        aModel.F_EnergyItemFml = F_EnergyItemFml;
                        aModel.F_EnergyItemState = sF_EnergyItemState;
                        if (ent.SaveChanges() > 0)
                        {
                            bPass = true;
                            strMsg = "修改成功。";
                        }
                        else
                        {
                            bPass = false;
                            strMsg = "修改失败,请稍后再试。";
                        }
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "不存在此记录,请稍后再试。";
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                bPass = false;
                //throw;
            }
            return bPass;
        }
        /// <summary>
        /// 删除一个对象.
        /// </summary>
        /// <returns></returns>
        private bool DelObject(out string strMsg)
        {
            string F_EnergyItemCode = Request.QueryString  ["F_EnergyItemCode"];
            bool bPass = false;
            using (item_energyEntities ent = new item_energyEntities())
            {
                t_dt_energyitemdict aModel = (from c in ent.t_dt_energyitemdict where c.F_EnergyItemCode == F_EnergyItemCode select c).FirstOrDefault();
                try
                {
                    if(aModel!=null)
                    {
                        ent.t_dt_energyitemdict.Remove(aModel);
                        if(ent.SaveChanges()>0)
                        {
                            bPass = true;
                            strMsg = "删除成功。";
                        }
                        else
                        {
                            bPass = false;
                            strMsg = "删除失败,请稍后再试。";
                        }
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "不存在此记录,请稍后再试。";
                    }
                }
                catch (Exception ex)
                {
                    bPass = false;
                    strMsg = ex.Message;
                }
            }
            return bPass;

}  

EasyUI DataGrid 实用例子(2015-05-22)的更多相关文章

  1. Easyui DataGrid DateRange Filter 漂亮实用的日期区间段筛选功能

    自定义扩展Jquery easyui datagrid filter组件实现对日期类型区间段的筛选功能.显示效果如一下 是不是非常实用 引用的jquery 组件是 Date Range Picker ...

  2. DataTables VS EasyUI DataGrid 基础应用 转

    DataTables中文网推出了 第一篇 关于DataTables和其他表格插件比较后,为了把让这个比较更有意义,更能帮助到大家,DataTables中文网 做了问卷调查,根据小伙伴们的填写我归纳了一 ...

  3. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  4. jQuery EasyUI DataGrid Checkbox 数据设定与取值

    纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...

  5. 扩展jquery easyui datagrid编辑单元格

    扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...

  6. EasyUI Datagrid 鼠标悬停显示单元格内容 复制代码

    EasyUI Datagrid 鼠标悬停显示单元格内容 ,halign:, align: 0 « 上一篇:LINQ to Entities 中的查询» 下一篇:去掉字符串中的非数字字符 posted ...

  7. easyui datagrid checkbox multiple columns have been done do

    lengku1987   2013-01-06 22:27:47   Sponsored Links   easyui datagrid checkbox multiple columns have ...

  8. easyui datagrid中 多表头方法总结

    easyui datagrid中怎么设置表头成多行显示呢?其实很简单,就是给datagrid的columns属性设置成多个数组就行了.下面直接看例子吧,这是一个两行表头的,按照此方法,还可以设置三行表 ...

  9. 让easyui datagrid支持bootstrap的tooltip

    让easyui datagrid支持bootstrap的tooltip 发表于 下午 1:53 by ylpro.net & 分类 Java. Easyui在1.3.3版本之前是不支持tool ...

随机推荐

  1. weex逻辑控制

    在WEEX中,有if 和 repeat 两种逻辑运算,需要注意的是,逻辑控制不能够作用于<template>这样的根节点. if 控制判断条件true/false直接对节点进行操作,if= ...

  2. HDU Cow Sorting (树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2838 Cow Sorting Problem Description Sherlock's N (1  ...

  3. iOS判断是模拟器还是真机

    #if TARGET_IPHONE_SIMULATOR //模拟器   #elif TARGET_OS_IPHONE //真机   #endif

  4. mysql不能插入中文

    mysql不能插入中文 解决办法: 1.打开终端,连接数据库  mysql -u root -p; 2.输入 satus; 查看状态 3.输入 set char set 'gbk'; 4.如果是已有的 ...

  5. *HDU 1757 矩阵乘法

    A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  6. AngularJS SPA Template For Visual Studio

    单页面应用程序(SPA)[使用JavaScript.CSS和HTML强大的功能,可以构建一个单页面应用程序(SPAs)],它提供了丰富的用户体验页面.导航技术和AJAX提供必要的功能,而不用重新加载页 ...

  7. ABP理论学习之授权(Authorization)

    返回总目录 本篇目录 介绍 定义权限 检查权限 使用AbpAuthorize特性 使用IPermissionChecker Razor视图 客户端(Javascript) 权限管理者 介绍 几乎所有的 ...

  8. 循序渐进做项目系列(4)迷你QQ篇(2)——视频聊天!(附源码)

    一·效果展示 源码派送:MiniQQ1.1 文字聊天的实现参见:循序渐进做项目系列(3):迷你QQ篇(1)——实现客户端互相聊天 二·服务端设计 对于实现视频聊天而言,服务端最核心的工作就是要构造多媒 ...

  9. 【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行)

    之前上传图片的做法都是上传到服务器上的文件夹中,再将url保存到数据库.其实在MVC中将图片上传到数据库很便捷的事情,而且不用去存url了.而且这种方式支持ie6(ie6不支持jquery自动提交fo ...

  10. 浅谈Excel开发:十一 针对64位Excel的插件的开发和部署

    自Office 2010版本开始有了32位和64位之分,对Excel来说,32位的Excel和64位的Excel在性能上的主要区别是64位的Excel能够处理2G及2G以上的大数据集. 随着64位操作 ...