zoukankan      html  css  js  c++  java
  • 【转载】在jQuery EasyUI中实现对DataGrid进行编辑

    http://www.cnblogs.com/wintalen/archive/2011/06/10/2077164.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
       
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       
    <title>jQuery EasyUI</title>
       
    <link rel="stylesheet" type="text/css" href="../themes/default/easyui.css">
       
    <link rel="stylesheet" type="text/css" href="../themes/icon.css">
       
    <script type="text/javascript" src="../jquery-1.4.2.min.js"></script>
       
    <script type="text/javascript" src="../jquery.easyui.min.js"></script>
       
    <script>
           
    var users = {total:6,rows:[
                {no:
    1,name:'用户1',addr:'山东济南',email:'user1@163.com',birthday:'1/1/1980'},
                {no:
    2,name:'用户2',addr:'山东济南',email:'user2@163.com',birthday:'1/1/1980'},
                {no:
    3,name:'用户3',addr:'山东济南',email:'user3@163.com',birthday:'1/1/1980'},
                {no:
    4,name:'用户4',addr:'山东济南',email:'user4@163.com',birthday:'1/1/1980'},
                {no:
    5,name:'用户5',addr:'山东济南',email:'user5@163.com',birthday:'1/1/1980'},
                {no:
    6,name:'用户6',addr:'山东济南',email:'user6@163.com',birthday:'1/1/1980'}
            ]};
            $(
    function(){
                $(
    '#tt').datagrid({
                    title:
    'Editable DataGrid',
                    iconCls:
    'icon-edit',
                   
    530,
                    height:
    250,
                    singleSelect:
    true,
                    columns:[[
                        {field:
    'no',title:'编号',50,editor:'numberbox'},
                        {field:
    'name',title:'名称',60,editor:'text'},
                        {field:
    'addr',title:'地址',100,editor:'text'},
                        {field:
    'email',title:'电子邮件',100,
                            editor:{
                                type:
    'validatebox',
                                options:{
                                    validType:
    'email'
                                }
                            }
                        },
                        {field:
    'birthday',title:'生日',80,editor:'datebox'},
                        {field:
    'action',title:'操作',70,align:'center',
                            formatter:
    function(value,row,index){
                               
    if (row.editing){
                                   
    var s ='<a href="#" onclick="saverow('+index+')">保存</a> ';
                                   
    var c ='<a href="#" onclick="cancelrow('+index+')">取消</a>';
                                   
    return s+c;
                                }
    else {
                                   
    var e ='<a href="#" onclick="editrow('+index+')">编辑</a> ';
                                   
    var d ='<a href="#" onclick="deleterow('+index+')">删除</a>';
                                   
    return e+d;
                                }
                            }
                        }
                    ]],
                    toolbar:[{
                        text:
    '增加',
                        iconCls:
    'icon-add',
                        handler:addrow
                    },{
                        text:
    '保存',
                        iconCls:
    'icon-save',
                        handler:saveall
                    },{
                        text:
    '取消',
                        iconCls:
    'icon-cancel',
                        handler:cancelall
                    }],
                    onBeforeEdit:
    function(index,row){
                        row.editing
    =true;
                        $(
    '#tt').datagrid('refreshRow', index);
                        editcount
    ++;
                    },
                    onAfterEdit:
    function(index,row){
                        row.editing
    =false;
                        $(
    '#tt').datagrid('refreshRow', index);
                        editcount
    --;
                    },
                    onCancelEdit:
    function(index,row){
                        row.editing
    =false;
                        $(
    '#tt').datagrid('refreshRow', index);
                        editcount
    --;
                    }
                }).datagrid(
    'loadData',users).datagrid('acceptChanges');
            });
           
    var editcount =0;
           
    function editrow(index){
                $(
    '#tt').datagrid('beginEdit', index);
            }
           
    function deleterow(index){
                $.messager.confirm(
    '确认','是否真的删除?',function(r){
                   
    if (r){
                        $(
    '#tt').datagrid('deleteRow', index);
                    }
                });
            }
           
    function saverow(index){
                $(
    '#tt').datagrid('endEdit', index);
            }
           
    function cancelrow(index){
                $(
    '#tt').datagrid('cancelEdit', index);
            }
           
    function addrow(){
               
    if (editcount >0){
                    $.messager.alert(
    '警告','当前还有'+editcount+'记录正在编辑,不能增加记录。');
                   
    return;
                }
                $(
    '#tt').datagrid('appendRow',{
                    no:
    '',
                    name:
    '',
                    addr:
    '',
                    email:
    '',
                    birthday:
    ''
                });
            }
           
    function saveall(){
                $(
    '#tt').datagrid('acceptChanges');
            }
           
    function cancelall(){
                $(
    '#tt').datagrid('rejectChanges');
            }
       
    </script>
    </head>
    <body>
    <h1>Editable DataGrid</h1>
    <table id="tt"></table>
    </body>
    </html>

    淘啦啦

  • 相关阅读:
    Android 中的code sign
    iOS 中的Certificate,Provisioning Profile 的一些注意 (不断完善中)
    xcode 和 android studio中在Mac系统下的自动对齐快捷键
    iOS block 声明时和定义时的不同格式
    iOS 和 Android 中的后台运行问题
    Android 阅读Tasks and Back Stack文章后的重点摘抄
    Android 中PendingIntent---附带解决AlarmManager重复加入问题
    Android 中获得notification的发出时间
    iOS 关于Layer的疑问
    iOS的 context 和Android 中的 canvas
  • 原文地址:https://www.cnblogs.com/colin5/p/2454103.html
Copyright © 2011-2022 走看看