• Easy-ui Datagrid表格数据的编辑与提交


    前言

    jQuery EasyUI是一组基于jQuery的UI 插件集合体,而jQuery EasyUI可以打造出功能更加丰富且美观的UI界面。开发者不需要了解复杂的javascript和css样式,只需要了解html标签。

    一、    easy-ui基本知识

    1、            easy-ui引用js顺序详解

    引用Jquery的js文件:

    <script src="jquery-easyui-1.3.4/jquery-1.8.0.min.js" type="text/javascript"></script>

    引用Easy UI的Js文件:

    <script src="jquery-easyui-1.3.4/jquery.easyui.min.js" type="text/javascript"></script>

    导入Easy UI的图标Css文件:

    <link href="jquery-easyui-1.3.4/themes/icon.css" rel="stylesheet" type="text/css" />

    引用Easy UI的国际化文件 以下为让它显示中文:

    <scriptsrc="jquery-easyui-1.3.4/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>

    页面上加上UTF-8编码  防止jquery.easyui.min.js  内容乱码:

    <meta http-equiv="content-type" content="text/html;charset=UTF-8" />

    引用

    2       easy-ui基本控件

    利用easy-ui官方网站上的demo学习,我们可以快速掌握模块开发与设计,了解代码编写方式等。

    Easy-ui的官方网站:

    其官方网站提供了详细的Demo和源码,便于前端设计者查找和学习,因是外国网站,所以访问不是很顺畅,要把DNS改为:首选8:8:8:8,备选:8:8:8:0

    例如:www.jeasyui.com/demo下的,dataGrid控件下的row editing in datagrid,点击每行每列的表格可以进行修改:

    界面简洁、大方,不需要太多的二次开发,只需要简单的修改,就可以满足开发者的需求。

    1:按钮控件:Append, Remove, Accept, Reject ,GetChanges

    后台代码:

    2:datagrid表格的列名:item ID,Product,List Price,Unit Cost,Attribute

    3:表格数据

    根据row editing in datagrid进行修改后的表格

    二easy-ui具体设计

    2.1数据库User表设计:

                Id(string)                         name(string)                                  sex(string)                              Datetime(datatime)                    itemID(string)     
    1 tom woman 2014/1/10 u1401
    2 jerry woman 2014/3/1 u1402
    3 frank man 2014/7/1 u1405
    4 sam man 2015/2/1 u1501

    通过微软的SQL Server2008建立数据库后,建立表单User;

    <body>

        <form id="form1"  method="post">

            <h2>用户表格编辑</h2>

            <div style="margin:20px 0;"></div>

            <table id="dg" class="easyui-datagrid" title="用户信息表" style="350px;height:auto "

                   data-options="

                     iconCls: 'icon-edit',

                     singleSelect: true,

                     toolbar: '#tb',

                     url: 'GetUsersJson',

                     method: 'get',

                     onClickRow: onClickRow,

                ">

                <thead>

                    <tr>

                        <th data-options="field:'itemID',80,editor:'text'">Name ID</th>

                        <th data-options="field:'nameID',100,

                                formatter:function(value,row){ return row.name; },

                                editor:{

                                      type:'combobox',

                                      options:{

                                           valueField:'nameID',

                                           textField:'name',

                                data:users

                                      }

                                }">Name</th>

                        <th data-options="field:'sex',80,align:'right',

                        editor:{

                        type:'combobox',

                        options:{

                                    valueField:'sex',

                                    textField:'sex',

                                    data:sexs

                                }

                        }">Sex</th>

                        <th data-options="field:'datetime',85,align:'right',editor:'datebox'">Datetime</th>

                    </tr>

                </thead>

        

    Js文件:

    <script type="text/javascript">

                var editIndex = undefined;

                //用户名数组

                var users = [

                    { nameID: '1', name: 'tom' },

                    { nameID: '2', name: 'jerry' },

                    { nameID: '3', name: 'frank' },

                ];

                //性别数组

                var sexs = [

                 { sex: 'man', sexID: '1' },

                 { sex: 'woman', sexID: '2' },

                ];

                $(function () {

                    $("#dg").datagrid({                   //取datagrid表格

                        onAfterEdit: function(index) {   //定义编辑后的事件

                               //获取编辑过该行属性及列值

                            var cur = $("#dg").datagrid("selectRow", index).datagrid("getSelected");

                            ////初始化json,填充数据

                                                                                           

       
       

    先取出行修改后的字段值,然后分别放到Json字符串的sex,

       

    Nameid,name,id,date里,用ajax方式把json数据提交到后台

       
       

                            var json = {};

                            json.nameid = cur.itemID;//取名字id

                            json.sex = cur.sex;//取性别

                            json.name = cur.name;//取名字

                            json.id = cur.id;//取id

                            json.date = cur.datetime;//取时

                            ////ajax提交json

                            $.ajax({

                                url: "GetCellsJson",//提交方法

                                type: "post",//提交方式

                                data:json   

                            })

                        }

                    })

    </script>

    </table>

     

    2.2基于MVC的后台C#代码

    2.2.1前台读取User表

    对应前台的代码是:

    对应的数据访问层是:

  • 相关阅读:
    吃甘蔗(中等,模拟)
    jquery对象里面的context参数
    event对象的使用注意事项
    EcmaScript源码
    对js运算符“||”和“&&”的总结
    浏览器滚动条样式
    浏览器的重绘与重排
    input[checkbox],input[radiobox]的一些问题
    height:100%
    Sublime Text 3 多行游标
  • 原文地址:https://www.cnblogs.com/leo-ying/p/4285892.html
Copyright © 2020-2023  润新知