zoukankan      html  css  js  c++  java
  • jQuery EasyUI教程之datagrid应用-1

    一、利用jQuery EasyUI的DataGrid创建CRUD应用

     

        对网页应用程序来说,正确采集和管理数据通常很有必要,DataGrid的CRUD功能允许我们创建页面来列表显示和编辑数据库记录。本教程将教会你如何运用jQuery EasyUI框架来实现DataGrid的CRUD功能 。

    我们会用到如下插件:

    · datagrid: 列表显示数据。

    · dialog: 增加或编辑单个用户信息。

    · form: 用来提交表单数据。

    · messager: 用来显示操作信息。

     

    第一步:准备数据库

     

    使用MySql数据库来保存用户信息,并创建数据库和“users”表。

     

     

    第二步:创建DataGrid数据表格来显示用户信息

    不需要编写任何javascript代码创建DataGrid数据表格。

    Html代码  收藏代码
    1. <table id="dg" title="My Users" class="easyui-datagrid"       style="550px;height:250px"  
    2. url="get_users.php"  
    3. toolbar="#toolbar"  
    4. rownumbers="true" fitColumns="true" singleSelect="true">  
    5.     <thead>  
    6.         <tr>  
    7.             <th field="firstname" width="50">First Name</th>  
    8.             <th field="lastname" width="50">Last Name</th>  
    9.             <th field="phone" width="50">Phone</th>  
    10.             <th field="email" width="50">Email</th>  
    11.         </tr>  
    12.     </thead>  
    13. </table>  
    14. <div id="toolbar">  
    15.     <href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()">New User</a>  
    16.     <href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUser()">Edit User</a>  
    17.     <href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyUser()">Remove User</a>  
    18. </div>  

    如下图所示,我们不需要写任何一行javascript代码:

    DataGrid使用“url”属性来指定“get_users.php”,用来从服务器端接收数据。

    get_users.php代码文件:

    Js代码  收藏代码
    1. $rs = mysql_query('select * from users');  
    2. $result = array();  
    3. while($row = mysql_fetch_object($rs)){  
    4.     array_push($result, $row);  
    5. }  
    6. echo json_encode($result);  

     

    第三步:创建表单对话框

     

    增加或者编辑用户信息,我们使用同一对话框。

    Html代码  收藏代码
    1. <div id="dlg" class="easyui-dialog" style="400px;height:280px;padding:10px 20px" closed="true" buttons="#dlg-buttons">  
    2.     <div class="ftitle">User Information</div>  
    3.     <form id="fm" method="post">  
    4.         <div class="fitem">  
    5.             <label>First Name:</label>  
    6.             <input name="firstname" class="easyui-validatebox" required="true">  
    7.         </div>  
    8.         <div class="fitem">  
    9.             <label>Last Name:</label>  
    10.             <input name="lastname" class="easyui-validatebox" required="true">  
    11.         </div>  
    12.         <div class="fitem">  
    13.             <label>Phone:</label>  
    14.             <input name="phone">  
    15.         </div>  
    16.         <div class="fitem">  
    17.             <label>Email:</label>  
    18.             <input name="email" class="easyui-validatebox" validType="email">  
    19.         </div>  
    20.     </form>  
    21. </div>  
    22. <div id="dlg-buttons">  
    23.     <href="#" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveUser()">Save</a>  
    24.     <href="#" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')">Cancel</a>  
    25. </div>  

    对话框的创建也不需要编写javascript代码。
     

     

    第四步:实现增加和编辑用户功能

     

    增加用户信息时,打开对话框,清除表单数据。

    Js代码  收藏代码
    1. function newUser(){  
    2.     $('#dlg').dialog('open').dialog('setTitle','New User');  
    3.     $('#fm').form('clear');  
    4.     url = 'save_user.php';  
    5. }  

    编辑用户信息时,打开对话框,将选择的数据表格行数据装入表单。

    Js代码  收藏代码
    1. var row = $('#dg').datagrid('getSelected');  
    2. if (row){  
    3.     $('#dlg').dialog('open').dialog('setTitle','Edit User');  
    4.     $('#fm').form('load',row);  
    5.     url = 'update_user.php?id='+row.id;  
    6. }  

    “url”保存URL地址,当保存用户数据时,表单用它来提交(post)数据到服务器。

     

    第五步:保存用户数据

     

    使用如下代码来保存用户数据:

    Js代码  收藏代码
    1. function saveUser(){  
    2.     $('#fm').form('submit',{  
    3.         url: url,  
    4.         onSubmit: function(){  
    5.             return $(this).form('validate');  
    6.         },  
    7.         success: function(result){  
    8.             var result = eval('('+result+')');  
    9.             if (result.errorMsg){  
    10.                 $.messager.show({  
    11.                     title: 'Error',  
    12.                     msg: result.errorMsg  
    13.                 });  
    14.             } else {  
    15.                 $('#dlg').dialog('close'); // close the dialog  
    16.                 $('#dg').datagrid('reload'); // reload the user data  
    17.             }  
    18.         }  
    19.     });  
    20. }  

     

    提交表单前,“onSubmit”函数被调用,此时可校验表单字段值。当表单字段值提交成功,关闭对话框和刷新数据表格数据。

     

    第六步:删除用户

     

    用如下代码来删除用户:

    Js代码  收藏代码
    1. function destroyUser(){  
    2.     var row = $('#dg').datagrid('getSelected');  
    3.     if (row){  
    4.         $.messager.confirm('Confirm','Are you sure you want to destroy this user?',function(r){  
    5.             if (r){  
    6.                 $.post('destroy_user.php',{id:row.id},function(result){  
    7.                     if (result.success){  
    8.                         $('#dg').datagrid('reload'); // 刷新用户数据  
    9.                     } else {  
    10.                         $.messager.show({ // 显示错误信息  
    11.                             title: 'Error',  
    12.                             msg: result.errorMsg  
    13.                         });  
    14.                     }  
    15.                 },'json');  
    16.             }  
    17.         });  
    18.     }  
    19. }  

     

    删除一行数据时,会弹出一个confirm对话框来让我们选择确定是否真的删除数据行。当删除数据成功,调用“reload”方法刷新datagrid数据。

     

    第七步:运行代码

     

    在浏览器中运行代码,同时MySQL启动。

    现在你了解了Query EasyUI框架的CRUD基本知识。

  • 相关阅读:
    2016.7.15
    2016.7.15
    2016.7.8
    2016.7.8
    2016.7.6
    2016.7.1--测评官网系列--手机行业
    2016.6.28--测评官网系列--牛奶行业
    2016.6.27
    Java中的Timer和TimerTask在Android中的用法
    Android 计时器Timer用法
  • 原文地址:https://www.cnblogs.com/huangf714/p/5864332.html
Copyright © 2011-2022 走看看