问题:最近在优化一个项目时,前端用到了 easyui这个插件来实现表格,搞了很久,才实现出一部分功能,但是还是有很多地方不熟悉,故记录一下,以后再研究

第一个实例------------------------------------------------------------------------------------------------

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
<script src="easyui/jquery-1.7.2.min.js"></script>
<script src="easyui/jquery.easyui.min.js"></script>
<script src="easyui/locale/easyui-lang-zh_CN.js"></script>

</head>
<body>
<div id='grid-toolbar'>
 <div class="criteria">
                <span>
                    <a type="btn-save" class="easyui-linkbutton btn-blue" iconCls="icon-save">全部保存</a>
                </span>
</div>
        </div>
<table id="result_grid" class="easyui-datagrid" style="width:410px;height:250px" ,fitColumns:true,singleSelect:true">
<thead>
<tr>
<th data-options="field:'code',width:100">Code</th>
<th data-options="field:'name',width:100">Name</th>
<th data-options="field:'price',width:100,align:'right'">Price</th>
<th data-options="field:'cc',width:100,align:'right',editor:{type:'text'}">可编辑</th>
</tr>
</thead>
<tbody>
<tr>
<td>001</td>
<td>name1</td>
<td>2323</td>
<td>11</td>
</tr>
<tr>
<td>002</td>
<td>name2</td>
<td>4612</td>
<td>11</td>
</tr>
</tbody>
</table>
<script>
$('#result_grid').datagrid({
onClickRow: function(rowIndex, rowData) {

$("#result_grid").datagrid('selectRow', rowIndex);
$("#result_grid").datagrid('beginEdit', rowIndex); //设置可编辑状态

},
onBeforeEdit: function(index, row) {

editRow = row;
row.editing = true;

},
onAfterEdit: function(index, row, changes) {
$('#result_grid').datagrid('updateRow', {
index: index,
row: {
occupation: parseInt(row.occupation),
cause: row.cause
}
});
datagridMgr.addRow(row);
row.editing = false;
},
onCancelEdit: function(index, row) {
row.editing = false;
},
})

/**
         * 数据管理对象
         */
        var datagridMgr = {
            dataList:[],             
            /**
             * 查询数据
             */
            queryData:function(){
                var name=$('input[name="username"]').val();
                var startTime=$('input[name="startTime"]').val();
                var endTime=$('input[name="endTime"]').val();
                
                $('#result_grid').datagrid('load',{
                    name: name,
                    startTime: startTime,
                    endTime:endTime
                });
            },
            addRow:function(row){
                this.dataList.push(row);
            },
            submitData:function(){
                var json=JSON.stringify(this.dataList);
            }
        }
        
        /**
         * 查询事件
         */
        $('a[type="btn-search"]').bind("click",function(){
            datagridMgr.queryData();
        });
        
        /**
         * 全部保存
         */
        $('a[type="btn-save"]').bind("click",function(){
            if(editRow){
              
                 datagridMgr.dataList.length=0;
                 var rows = $('#result_grid').datagrid("getSelections");
                 for(var i=0;i<rows.length;i++){  
                    var index=$('#result_grid').datagrid('getRowIndex',rows[i]);
                   $('#result_grid').datagrid("endEdit", index);
                 }
                var data=$('#result_grid').datagrid('getData');
                $('#result_grid').datagrid('loadData',data);
                editRow=null;
                datagridMgr.submitData();

}else{
                $.messager.alert('温馨提示','没有行需要保存');
            }
        });
</script>
</body>
</html>

第二个实例:----------------------------------------------------------------------------------------------------------------------------------------------

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
<link rel="stylesheet" type="text/css" href="easyui/texteditor.css" />
<script src="easyui/jquery.min.js"></script>

<script src="easyui/jquery.easyui.min.js"></script>
<script src="easyui/locale/easyui-lang-zh_CN.js"></script>
<script src="easyui/jquery.texteditor.js"></script>
        
        <style>
            .criteria{
               margin-top: 10px;
               margin-bottom: 10px;
            }
            .criteria > span{
                display: inline-block;
                width: 20%;
            }
            
            .criteria label{
                margin: 0px 10px;
            }
            
            .criteria span a{
                margin: 0px 5px;
            }
            
        </style>
    </head>
    <body>
        <div id='grid-toolbar'>
            <div class="criteria">
                <span><label>名称:</label><input type="text" class="easyui-textbox" name="username" ></span>
                <span ><label>开始时间:</label><input type="text" class="easyui-datebox" name="startTime"  id="startTime" data-options="editable:false"/></span>
                <span><label>结束时间:</label><input type="text" class="easyui-datebox" name="endTime" id="endTime" data-options="editable:false"/></span>
                <span>
                    <a type="btn-search" class="easyui-linkbutton btn-blue" iconCls="icon-search">查询</a>
                    <a type="btn-save" class="easyui-linkbutton btn-blue" iconCls="icon-save">全部保存</a>
                </span>
            </div>
        </div>
        <table id="result_grid"></table>
    </body>
    
    <script>
        var editRow=null;
        $('#result_grid').datagrid({ 
            url:"new_file.json",
method: "get",
            fitColumns:true,//宽度自适应
            height: 280,
            rownumbers:true,
            nowrap:true,
            pagination:true,
            pageNumber:1,
            pageSize:10,
            pageList:[10,20,30],
            onClickRow: function (rowIndex, rowData) {
              
                $("#result_grid").datagrid('selectRow', rowIndex);
                $("#result_grid").datagrid('beginEdit', rowIndex);//设置可编辑状态
               
            },
            onBeforeEdit:function(index,row){
                editRow=row;
                row.editing = true;
                
            },
            onAfterEdit:function(index, row, changes){
                $('#result_grid').datagrid('updateRow',{
                    index: index,
                    row: {
                        occupation: parseInt(row.occupation),
                        cause: row.cause
                    }
                });

datagridMgr.addRow(row);
                row.editing = false;
                
            },
            onCancelEdit:function(index,row){
                row.editing = false;
                
            },
            columns:[[    
                
                {field: 'id', checkbox:true,width:60},
                {field:'name',title:'名字',width:150},    
                {field:'age',title:'年龄',width:150},
                {field:'sex',title:'性别',width:150,formatter:function(value,row,index){
                    var result='';
                    switch(value){
                        case 0:
                        result='女';
                        break;
                        case 1:
                        result='男';
                        break;
                    }
                    return result;
                }},
                {field:'occupation',title:'职业(可编辑)',width:150,
                formatter:function(value,row,index){
                    var result='';
                    switch(parseInt(value)){
                        case 1:
                        result='教师';
                        break;
                        case 2:
                        result='工程师';
                        break;
                    }
                    return result;
                },
                editor : {
                    type : 'combobox',
                    options : {
                        editable:false, 
                        valueField:'code',
                         textField:'text',
                         url:"file:///C:/Users/86155/Documents/HBuilderProjects/easyui/new_file.json"
                     
                    }
                }
                    
                },
                {field:'cause',title:'参赛原因(可编辑)',width:150,
                editor : {
                    type : 'text'
                }
                
                },
                {field:'creatTime',title:'报名时间',width:150}
                
            ]],
            toolbar: '#grid-toolbar'
        });

/**
         * 数据管理对象
         */
        var datagridMgr = {
            dataList:[],             
            /**
             * 查询数据
             */
            queryData:function(){
                var name=$('input[name="username"]').val();
                var startTime=$('input[name="startTime"]').val();
                var endTime=$('input[name="endTime"]').val();
                
                $('#result_grid').datagrid('load',{
                    name: name,
                    startTime: startTime,
                    endTime:endTime
                });
            },
            addRow:function(row){
                this.dataList.push(row);
            },
            submitData:function(){
                var json=JSON.stringify(this.dataList);
                subimtJsonData(json);
            }
        }
        
        /**
         * 查询事件
         */
        $('a[type="btn-search"]').bind("click",function(){
            datagridMgr.queryData();
        });
        
        /**
         * 全部保存
         */
        $('a[type="btn-save"]').bind("click",function(){
            if(editRow){
                    
                 datagridMgr.dataList.length=0;
                 var rows = $('#result_grid').datagrid("getSelections");
                 for(var i=0;i<rows.length;i++){    
                    var index=$('#result_grid').datagrid('getRowIndex',rows[i]);
                   $('#result_grid').datagrid("endEdit", index);
                 }
                var data=$('#result_grid').datagrid('getData');
                $('#result_grid').datagrid('loadData',data);
                editRow=null;
                datagridMgr.submitData();

}else{
                $.messager.alert('温馨提示','没有行需要保存');
            }
        });
        
        /**
         * 提交数据
         * @param {Object} json
         */
        function subimtJsonData(json){
            $.ajax({

type: "POST",
                    url:"file:///C:/Users/86155/Documents/HBuilderProjects/easyui/new_file.json",

dataType: "json",

data: {data:json},

success: function (data) {
                         $.messager.alert('温馨提示',data.message);
                    }
                });
        }
        
        
    
    </script>
</html>

new_file.json文件:

[{"id":1,"name":"张三","sex":1,"age":"13","cc":11},{"id":1,"name":"张三","sex":1,"age":"13","cc":11},{"id":1,"name":"张三","sex":1,"age":"13","cc":11}]

备注:jQuery EasyUI官网

https://www.runoob.com/jeasyui/ext-edatagrid.html

jQuery EasyUI 的editor组件使用的更多相关文章

  1. JQuery EasyUI的常用组件

    jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件,该框架提供了创建网页所需的一切,帮助您轻松建立站点. 注:本次介绍的JQuery EasyUI版本为1.5版. 一 ...

  2. [js]jQuery EasyUI的linkbutton组件disable方法无法禁用jQuery绑定事件的问题分析

    问题由来 linkbutton 是 jQuery EasyUI 中常用的一个控件,可以使用它创建按钮.用法很简单,使用 a 标签给一个easyui-linkbutton 的class就可以了. < ...

  3. jQuery EasyUI Datagrid VirtualScrollView视图简单分析

    大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datag ...

  4. jQuery EasyUI Datagrid性能优化专题

    jQuery  EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能都望而却步了.本博客以后会带着分析Data ...

  5. jQuery EasyUI Datagrid性能优化专题(转)

    jQuery  EasyUI的Datagrid组件功能算是很强大了,不过性能确实不怎么乐观,而对于性能问题,网络上几乎也找不到相关的优化资料,所谓的牛人们可能 都望而却步了.本博客以后会带着分析Dat ...

  6. 第二百二十五节,jQuery EasyUI,PropertyGird(属性表格)组件

    jQuery EasyUI,PropertyGird(属性表格)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 PropertyGird(属性表格)组件的 ...

  7. 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件

    jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...

  8. 雷林鹏分享:jQuery EasyUI 数据网格 - 添加分页组件

    jQuery EasyUI 数据网格 - 添加分页组件 本实例演示如何从服务器端加载数据,如何添加分页组件(pagination)到数据网格(datagrid). 创建数据网格(DataGrid) 为 ...

  9. 求助关于jquery easyUI中的treegrid组件,请各位帮忙给个思路,谢谢啦

    现在项目中用到jquery easyUI中的treegrid组件,已经可以正常显示了.但是在保存的时候遇到问题,页面上参照官网的例子可以在页面更新,但是怎么获取编辑后的数据进而保存到数据库呢?

随机推荐

  1. 编写Java程序,使用ThreadLocal类,项目中创建账户类 Account,类中包括账户名称name、 ThreadLocal 类的引用变量amount,表示存款

    查看本章节 查看作业目录 需求说明: 某用户共有两张银行卡,账户名称相同,但卡号和余额不同.模拟用户使用这两张银行卡进行消费的过程,并打印出消费明细 实现思路: 项目中创建账户类 Account,类中 ...

  2. linux的用户主目录(~)指向问题

    最近在Ubuntu上安装rabbitmq之后,发现~目录指向出问题了,原本~指向当前shell登录的用户主目录,如下图 现在变成了这样: 登录之后进入的不是~目录,而是直接显示的主目录,而~指向的目录 ...

  3. DGHV同态库

    DGHV DGHV全同态方案的实现 这是具有压缩公钥的DGHV的全同态加密方案的实现,参考文章: [1] J.S. Coron, D. Naccache and M. Tibouchi, " ...

  4. Python 国内镜像源

    让 python pip 使用国内镜像源 国内镜像源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.co ...

  5. Go语言系列之标准库log

    Go语言内置的log包实现了简单的日志服务.本文介绍了标准库log的基本使用. 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法.本包也提供了一个预定义的" ...

  6. Hive的导入导出和常用过滤语句的学习

    原文: https://www.toutiao.com/i6769166601871688196/?group_id=6769166601871688196 数据的导入 load data [loca ...

  7. lvgl移植—Linux fbdev&evdev(基于LVGL v7)

    虽然lvgl官方提供了有关linux framebuffer操作的库函数,但是我决定自己试一下能否自己实现这部分操作 实际项目中应优先采用官方库函数,官方实现代码位于文件夹lv_drivers/dis ...

  8. Git 的基本命令的使用

    1.获得Git仓库(克隆一份代码到本地仓库) git clone url 2.更新本地的代码 git pull 3.查看本地修改的文件 git status 4.将本地的修改加到stage中 git ...

  9. Vulnhub系列:chili

    0x01 靶机信息 靶机:chili难度:简单下载:https://www.vulnhub.com/entry/chili-1,558/ 靶机描述: 0x02 信息收集 nmap扫描存活主机确定靶场i ...

  10. 《剑指offer》面试题36. 二叉搜索树与双向链表

    问题描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜 ...