在jQuery EasyUI中實現對DataGrid進行編輯


<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:'[email protected]',birthday:'1/1/1980'},
            {no:2,name:'用戶2',addr:'山東濟南',email:'[email protected]',birthday:'1/1/1980'},
            {no:3,name:'用戶3',addr:'山東濟南',email:'[email protected]',birthday:'1/1/1980'},
            {no:4,name:'用戶4',addr:'山東濟南',email:'[email protected]',birthday:'1/1/1980'},
            {no:5,name:'用戶5',addr:'山東濟南',email:'[email protected]',birthday:'1/1/1980'},
            {no:6,name:'用戶6',addr:'山東濟南',email:'[email protected]',birthday:'1/1/1980'}
        ]};
        $(function(){
            $('#tt').datagrid({
                title:'Editable DataGrid',
                iconCls:'icon-edit',
                width:530,
                height:250,
                singleSelect:true,
                columns:[[
                    {field:'no',title:'編號',width:50,editor:'numberbox'},
                    {field:'name',title:'名稱',width:60,editor:'text'},
                    {field:'addr',title:'地址',width:100,editor:'text'},
                    {field:'email',title:'電子郵件',width:100,
                        editor:{
                            type:'validatebox',
                            options:{
                                validType:'email'
                            }
                        }
                    },
                    {field:'birthday',title:'生日',width:80,editor:'datebox'},
                    {field:'action',title:'操作',width:70,align:'center',
                        formatter:function(value,row,index){
                            if (row.editing){
                                var s = '<a href="#" οnclick="saverow('+index+')">保存</a> ';
                                var c = '<a href="#" οnclick="cancelrow('+index+')">取消</a>';
                                return s+c;
                            } else {
                                var e = '<a href="#" οnclick="editrow('+index+')">編輯</a> ';
                                var d = '<a href="#" οnclick="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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章