一、利用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="width: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. <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" οnclick="newUser()">New User</a>
  16. <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" οnclick="editUser()">Edit User</a>
  17. <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" οnclick="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="width: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. <a href="#" class="easyui-linkbutton" iconCls="icon-ok" οnclick="saveUser()">Save</a>
  24. <a href="#" class="easyui-linkbutton" iconCls="icon-cancel" οnclick="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基本知识。

转载于:https://www.cnblogs.com/huangf714/p/5864332.html

jQuery EasyUI教程之datagrid应用-1相关推荐

  1. 关于Jquery EasyUI中的DataGrid服务器端分页随记

    一.关于DataGrid的分页和排序参数 对于分页参数不需要用户指定,程序在AJAX请求的时候会带上分页和排序需要的参数 每页显示条数:rows 当前页:page 排序字段:sort  [multiS ...

  2. jQuery EasyUI DataGrid 分页 FOR ASP.NET

    源代码: 前台(html): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  3. 给Jquery easyui 的datagrid 每行增加操作链接(转载)

    转自:http://www.thinkphp.cn/code/207.html 通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接 我们都知道Jquery的E ...

  4. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  5. jquery easyui datagrid 分页 详解

    http://www.cnblogs.com/huozhicheng/archive/2011/09/27/2193605.html 由于项目原因,用了jquery easyui 感觉界面不错,皮肤样 ...

  6. 给Jquery easyui 的datagrid 每行增加操作链接(转)

    http://www.thinkphp.cn/code/207.html 通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接 我们都知道Jquery的Easy ...

  7. 用户界面框架jQuery EasyUI示例大全之DataGrid(1/4)

    2019独角兽企业重金招聘Python工程师标准>>> <jQuery EasyUI最新试用版免费下载> jQuery EasyUI致力于帮助web开发者更轻松的打造出功 ...

  8. w3cschool教程之jQuery UI 教程概述

    w3cschool教程之jQuery UI 教程概述 链接地址: http://www.w3cschool.cc/jqueryui/jqueryui-tutorial.html w3cschool教程 ...

  9. jquery easyui dataGrid动态改变排序字段名

    2019独角兽企业重金招聘Python工程师标准>>> jquery easyui dataGrid 动态改变排序字段名,一般情况下,在使用的时候,我们会点击相应字段进行排序, 这里 ...

最新文章

  1. 关于VS2005不能更改字体的问题
  2. linux非lvm分区在线扩容,怎么给不是LVM的根分区扩容
  3. QT乱码总结4.细谈本地编码
  4. 阿里云服务器发送邮件失败?连接超时?25端口被封?
  5. 万字长文:近年来学界、业界视角下的“事理图谱”发展总结与思考
  6. -组件基础-局部组件 // 局部组件的简写
  7. 生成式模型与判别式模型—大厂笔试汇总
  8. linux六个标准目录,Linux基本目录规范——XDG
  9. 一张壁纸就是一段故事,壁纸控的找图不难!
  10. 老罗Android开发视频教程 (android常用布局介绍)5集集合
  11. dbc2000 注册机|dbc2000 注册码注册机下载
  12. C#中获取当前时间,及处理时间(对时间进行加减)
  13. Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhos
  14. P1757 通天之分组背包(动态规划 分组背包)
  15. 从双钻模型看产品规划
  16. 总有一条适合你|程序猿的女朋友
  17. Intel桌面CPU系列
  18. 淘宝购物车计算总价格
  19. C++: explicit的适用场合以及为什么要使用explicit
  20. java程序员学技术都会访问那些网站?

热门文章

  1. Linux下在tomcat上部署项目
  2. 被坑的过来人告诉你,为什么数据中台永远都搞不成?
  3. 如何把报表放到网页中显示(Web页面与报表简单集成例子)
  4. iview兼容ie8_iview在ie9及以上的兼容问题解决方案__Vue.js__JavaScript__前端__iView
  5. ps修改dds贴图_ZBrush建模师教你zbrush与Photoshop绘制人脸贴图,听仔细了哈
  6. 匿名管道 阻塞_进程间通信-管道
  7. python命令行进入帮助模式_Python 命令行之旅:深入 click 之选项篇
  8. 聚集索引和非聚集索引的区别底层_数据库-索引相关
  9. linux备份mysql怎样操作,Linux下自动备份MySQL数据库详细操作步骤(转载)
  10. AcWing1087.修剪草坪(单调队列DP)