`

easyUi学习之开启行编辑模式增删改操作

阅读更多
因为今天看到了前端的增删改操作,有点不懂,就百度了下,找到了这篇文章,挺不错的,就转载下来了,关于easyui的行编辑的,和我项目中差不多的,只是很多 不懂,看了才明白!
效果如图:







Html代码:
 <table id="dd">
  </table>


引用js和css文件
<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery-1.4.4.min.js" type="text/javascript"></script>
    <script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery.easyui.min.js" type="text/javascript"></script>
    <link href="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/themes/default/easyui.css" rel="stylesheet"
        type="text/css" />
    <link href="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/themes/icon.css" rel="stylesheet"
        type="text/css" />
    <script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>


js代码和解释,很详细,看完基本就懂了
<script type="text/javascript">

        $(function () {
            var datagrid; //定义全局变量datagrid
            var editRow = undefined; //定义全局变量:当前编辑的行
            datagrid = $("#dd").datagrid({
                url: 'UserCenter.aspx', //请求的数据源
                iconCls: 'icon-save', //图标
                pagination: true, //显示分页
                pageSize: 15, //页大小
                pageList: [15, 30, 45, 60], //页大小下拉选项此项各value是pageSize的倍数
                fit: true, //datagrid自适应宽度
                fitColumn: false, //列自适应宽度
                striped: true, //行背景交换
                nowap: true, //列内容多时自动折至第二行
                border: false,
                idField: 'ID', //主键
                columns: [[//显示的列
                {field: 'ID', title: '编号', width: 100, sortable: true, checkbox: true },
                 { field: 'UserName', title: '用户名', width: 100, sortable: true,
                     editor: { type: 'validatebox', options: { required: true} }
                 },
                  { field: 'RealName', title: '真实名称', width: 100,
                      editor: { type: 'validatebox', options: { required: true} }
                  },
                   { field: 'Email', title: '邮箱', width: 100,
                       editor: { type: 'validatebox', options: { required: true} }
                   }
                   ]],
                queryParams: { action: 'query' }, //查询参数
                toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function () {//添加列表的操作按钮添加,修改,删除等
                    //添加时先判断是否有开启编辑的行,如果有则把开户编辑的那行结束编辑
                    if (editRow != undefined) {
                        datagrid.datagrid("endEdit", editRow);
                    }
                    //添加时如果没有正在编辑的行,则在datagrid的第一行插入一行
                    if (editRow == undefined) {
                        datagrid.datagrid("insertRow", {
                            index: 0, // index start with 0
                            row: {

                            }
                        });
                        //将新插入的那一行开户编辑状态
                        datagrid.datagrid("beginEdit", 0);
                        //给当前编辑的行赋值
                        editRow = 0;
                    }

                }
                }, '-',
                 { text: '删除', iconCls: 'icon-remove', handler: function () {
                     //删除时先获取选择行
                     var rows = datagrid.datagrid("getSelections");
                     //选择要删除的行
                     if (rows.length > 0) {
                         $.messager.confirm("提示", "你确定要删除吗?", function (r) {
                             if (r) {
                                 var ids = [];
                                 for (var i = 0; i < rows.length; i++) {
                                     ids.push(rows[i].ID);
                                 }
                                 //将选择到的行存入数组并用,分隔转换成字符串,
                                 //本例只是前台操作没有与数据库进行交互所以此处只是弹出要传入后台的id
                                 alert(ids.join(','));
                             }
                         });
                     }
                     else {
                         $.messager.alert("提示", "请选择要删除的行", "error");
                     }
                 }
                 }, '-',
                 { text: '修改', iconCls: 'icon-edit', handler: function () {
                     //修改时要获取选择到的行
                     var rows = datagrid.datagrid("getSelections");
                     //如果只选择了一行则可以进行修改,否则不操作
                     if (rows.length == 1) {
                         //修改之前先关闭已经开启的编辑行,当调用endEdit该方法时会触发onAfterEdit事件
                         if (editRow != undefined) {
                             datagrid.datagrid("endEdit", editRow);
                         }
                         //当无编辑行时
                         if (editRow == undefined) {
                             //获取到当前选择行的下标
                             var index = datagrid.datagrid("getRowIndex", rows[0]);
                             //开启编辑
                             datagrid.datagrid("beginEdit", index);
                             //把当前开启编辑的行赋值给全局变量editRow
                             editRow = index;
                             //当开启了当前选择行的编辑状态之后,
                             //应该取消当前列表的所有选择行,要不然双击之后无法再选择其他行进行编辑
                             datagrid.datagrid("unselectAll");
                         }
                     }
                 }
                 }, '-',
                 { text: '保存', iconCls: 'icon-save', handler: function () {
                     //保存时结束当前编辑的行,自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台
                     datagrid.datagrid("endEdit", editRow);
                 }
                 }, '-',
                 { text: '取消编辑', iconCls: 'icon-redo', handler: function () {
                     //取消当前编辑行把当前编辑行罢undefined回滚改变的数据,取消选择的行
                     editRow = undefined;
                     datagrid.datagrid("rejectChanges");
                     datagrid.datagrid("unselectAll");
                 }
                 }, '-'],
                onAfterEdit: function (rowIndex, rowData, changes) {
                    //endEdit该方法触发此事件
                    console.info(rowData);
                    editRow = undefined;
                },
                onDblClickRow: function (rowIndex, rowData) {
                //双击开启编辑行
                    if (editRow != undefined) {
                        datagrid.datagrid("endEdit", editRow);
                    }
                    if (editRow == undefined) {
                        datagrid.datagrid("beginEdit", rowIndex);
                        editRow = rowIndex;
                    }
                }
            });
        });
    </script>
  • 大小: 49.3 KB
  • 大小: 50.6 KB
分享到:
评论
1 楼 chokee 2015-12-17  

相关推荐

    easyui增删改很好的例子

    这个“easyui增删改很好的例子”是一个实用的学习资源,展示了如何利用EasyUI来实现数据的添加、删除和修改功能。在产品管理和产品分类管理两个子模块中,我们可以看到这些操作的实现,这对于理解和掌握EasyUI的数据...

    Jquery easyui开启行编辑模式增删改操作

    以下是一个简单的示例代码,展示如何通过easyui框架开启行编辑模式,并进行增删改操作: ```javascript $(function(){ var datagrid; // 定义全局变量datagrid var editRow = undefined; // 定义全局变量:当前...

    ssm+easyUI列表增删改练习项目

    【SSM+EasyUI列表增删改练习项目】是一个典型的Java Web开发实战案例,它结合了Spring、SpringMVC和MyBatis三个框架,并利用EasyUI进行前端展示和交互。这个项目旨在帮助开发者熟悉和掌握这四个技术的整合使用,以及...

    easyui分页增删改

    在"easyui分页增删改"这个主题中,我们将深入探讨如何利用EasyUI实现数据的分页显示、添加、删除和修改等功能。 一、EasyUI 分页展示 EasyUI 提供了 `datagrid` 组件来展示表格数据,并且支持分页功能。通过设置 `...

    springmvc-easyui-tree增删改

    在增删改操作中,我们可以创建一个窗口来显示添加新节点、编辑节点或确认删除的表单。窗口可以设置为可拖动、可调整大小,以及在操作完成后自动关闭。 7. **交互处理**:使用EasyUI的事件监听器,如`onClick`, `...

    EasyUI增查改删操作示例

    - **Update(修改)**:点击 Grid 中的行进行编辑,同样会打开 Dialog 和 Form,显示当前行的数据供用户修改,C# 处理更新数据库的操作。 - **Delete(删除)**:用户选择一条记录并确认删除,Grid 会向服务器发送...

    easyui datagird增删改分页例子

    标题 "easyui datagird增删改分页例子" 提示我们这个压缩包包含一个使用EasyUI DataGrid实现数据操作和分页功能的示例。EasyUI是一个基于jQuery的前端框架,DataGrid是其组件之一,常用于展示表格数据并支持用户交互...

    easyUI行编辑comobox多选显示

    easyUI行编辑comobox 下拉多选显示

    easyui+ssh(增删改模糊查询,导出数据)

    - **增删改操作**:在EasyUI的表格组件中,可以通过添加编辑和删除按钮,结合后端的Struts2 Action实现对数据的增删改操作。 - **数据导出**:后端可以使用Apache POI库来生成Excel文件,然后通过HTTP响应返回给...

    sqlserver 版的java springmvc easyui 增删改

    现在,让我们看看如何在Java Spring MVC和EasyUI的环境下实现数据的增删改操作: 1. **数据增加**:创建一个新的Java类作为实体,该类的属性对应数据库表的字段。在Spring MVC中定义一个Controller方法,接收前端...

    EasyUI 创建展开行明细编辑表单的 CRUD 应用

    在这个“EasyUI 创建展开行明细编辑表单的 CRUD 应用”中,我们将深入探讨如何利用 EasyUI 实现数据的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,并且在表格中展开行来显示和编辑明细信息...

    Phpstorm + easyui 增删改实现

    在本文中,我们将深入探讨如何使用Phpstorm IDE与EasyUI框架来实现Web应用中的增、删、改功能。首先,让我们了解一下这两个工具的基本概念。 **Phpstorm** Phpstorm是一款由JetBrains公司开发的强大PHP集成开发环境...

    easyui+mvc4+json增删改源码

    Microsoft Visual C# 2013 .NET 4.0 ...主要用到了easyui的 tree windows Dialog TreeGrid ComboBox ComboTree DataGrid Tabs 等几个常用的json读取实例。绝对源码。亲手整理打造。。。后续继续完成easyui的其他实例!

    easyui增删改

    总结来说,“easyui增删改”是关于如何使用EasyUI前端框架与MySQL数据库配合,实现数据操作的功能。这涉及到前端的Ajax通信、EasyUI组件的使用,以及后端的SQL语句编写。掌握这些技能,能够帮助开发者构建功能完善的...

    easyUI拓展:获取当前datagrid正在编辑状态的行编号

    easyUI拓展:获取当前datagrid中在编辑状态的行编号列表,直接使用即可

    EasyUI分页,编辑

    在 Web 应用程序中,分页通常用于处理大量数据,提高用户体验,而编辑功能则允许用户对展示的数据进行增删改操作。下面我们将深入探讨这两个方面。 ### 1. EasyUI 分页 #### 1.1 分页原理 EasyUI 提供了分页组件...

    easyui datagrid在编辑状态下更新列的值

    在标题“easyui datagrid在编辑状态下更新列的值”中,我们关注的是如何在Datagrid的编辑模式下动态地修改列的值,以及确保在编辑结束后,保存的数据反映这些变更。以下将详细介绍这一过程。 首先,EasyUI的...

    mybatis+spring+springmvc+easyui做的一个登陆,增删改的项目实例

    总的来说,这个项目实例展示了如何集成多种Java技术来构建一个完整的Web应用,涵盖了从用户界面设计、后端业务逻辑处理到数据库操作的全过程,对于学习和理解Java企业级开发流程具有很高的参考价值。开发者可以通过...

    jquery Easyui Datagrid实现批量操作(编辑,删除,添加)

    通过代码的修改,可以实现同时追加多行、在任意位置追加行、任意位置编辑行以及保存前统一验证的功能。这使得原本受限的行内编辑功能变得更加灵活和强大。 6. **事件处理**: - 对于编辑、删除、添加事件的处理,...

Global site tag (gtag.js) - Google Analytics