转自:http://blog.csdn.net/abauch_d/article/details/7734395

前几天我把easyui dadtagrid的增删改查的实现代码贴了出来,发现访问量达到100多,那次由于匆忙,只把代码贴出来而已,看到有这么多的朋友想学这个框架,今天我就试着跟大家一起来探讨一下这个datagrid吧

1、首先是datagrid的数据展示:

我的做法是在页面中定义了表格的字段名称,代码如下:(当然这里还有别的方法,大多数的做法是在页面中放一个table节点,然后在js文件中定义表格的字段等等属性)

<table id="tt">
     <thead>
    <tr>
    <th field="id" width="80" >读者ID</th>
    <th field="name" width="100" >读者姓名</th>
    <th field="sex" width="80" >性别</th>
    <th field="type" width="80" >类型</th>
    <th field="email" width="80" >邮箱</th>
    <th field="company" width="150">单位</th>
    <th field="status" width="60">状态</th>
    </tr>
    </thead>
    </table>

写脚本文件:

$(function() {

//设置datagrid
  var lastIndex;
  
 $('#tt').datagrid({
   width : 750,
   height : 350,
   //pageSize:5,
   pageList : [ 5, 10, 15, 20 ],
   pageSize:10,
   nowrap : false,
   striped : true,
   collapsible : true,
   url : '../datagrid/test.action',
   loadMsg : '数据装载中......',
   sortName : 'code',
   sortOrder : 'desc',
   idField : 'id',
   remoteSort : false,
   pagination : true,
   rownumbers : true,
   frozenColumns : [ [ {
    field : 'ck',
    checkbox : true
   } ] ],            
   toolbar : [ {
    text : '添加',
    iconCls : 'icon-add',
    handler : function(){
      $('#add').window('open');
         $('#fs').show();
         $('#fs').form('clear');
         $('#fs').appendTo('#aa');
    }
   }, '-', {
    text : '删除',
    iconCls : 'icon-remove',
    handler : del
   }, '-', {
    text : '保存',
    iconCls : 'icon-save',
    handler : function() {
     $('#tt').datagrid('acceptChanges');
    }
   }, '-', {
    text : '修改',
    iconCls : 'icon-edit',
    handler : getSelect
   }, '-', {
    text : '查询',
    iconCls : 'icon-search',
    handler : function() {
     $('#query').window('open');
    }
   }, '-', {
    text : '撤销',
    iconCls : 'icon-undo',
    handler : function() {
     $('#tt').datagrid('rejectChanges');
    }
   } ],
   onBeforeLoad : function() {
    $(this).datagrid('rejectChanges');
   }
  });

红色部分中,最重要的是url,大家看这个名称也知道,这是从后台获取到数据的地址,之前自己刚开始在学这个框架的时候在网上找了很多例子

很多网友只是说了这是个获取数据的地址,但是后台到底怎么返回数据给前端,大家都没怎么提到,在这里我就将我的方法跟大家分享一下,我是基于ssh框架开发的,所

以这个地址其实就是指向到struts2的一个action处理程序,在该action中我获取数据库的数据,至于怎么获取数据,相信大家应该都会了,这里我们重点讲一下后台是返回

什么样的数据给前端,然后显示在datagrid中:其实后台返回的数据是一个json格式的字符串,格式大致是这样的

{"total":28,"rows":[
 {"id":"FI-SW-01","sex":"fale"},
 {"id":"K9-DL-01","sex":"male"}
 ]}

返回的json字符串很像是键值对,每个键的名称都必须与之前table定义的字段名一致,这是在datagrid展示数据的保证,所以大家想要返回什么样的数据都可以通过自己构造

json字符串来返回给前端。

至于toolbar,就是一个工具栏,里面定义了许多按钮,添加,删除,修改等等,handler这是当点击该按钮时触发的事件。

2、然后是增删改查的操作

其实大家只要明白对数据进行增删改查操作只要能够将想要操作的那一条或一组数据获取到,然后传值到后台,再交由后台执行对数据库的操作就行了,

所以在这里关键是如何获取到datagrid的数据

添加操作的话,我的上一篇文章有把代码贴出来了,其实就是当点击添加按钮,就弹出一个子窗口,然后填入信息后提交到后台action处理,由于用的是strust2,所以连参数

都不用直接传递了,直接让action以它里面定义的变量去页面寻找对应的值并赋值就可以了,这个比较简单,我就不多说了

然后是修改操作,具体的代码由于之前都贴出来了,现在就不再复制在这里了。修改前要做的就是获取到你要修改的数据,这可以由$('#tt').datagrid('getSelected')这条语句来

实现,它是获取datagrid中被选中行的记录,然后只要把该行的数据展示出来,让用户去修改,然后再像添加一样提交到actioin中就可以了

删除操作,删除操作也比较简单,只需要取到选中的记录的ID号并提交到后台就行了

查询操作,获取到要查询的信息后,提交到后台,然后只要像显示数据那样构造返回到前端的json字符串就行了

以上这些希望能够帮到大家,针对我的做法有什么建议的或者有哪些不对的也请赐教。

详谈easyui datagrid增删改查操作的更多相关文章

  1. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  2. easyui datagrid 增删改查示例

    查询JSP页面 <!doctype html> <%@include file="/internet/common.jsp"%> <!-- 新样式右侧 ...

  3. asp.net mvc4 easyui datagrid 增删改查分页 导出 先上传后导入 NPOI批量导入 导出EXCEL

    效果图 数据库代码 create database CardManage use CardManage create table CardManage ( ID ,) primary key, use ...

  4. golang学习之beego框架配合easyui实现增删改查及图片上传

    golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...

  5. MVC与EasyUI结合增删改查

    构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查   在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的 ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  7. mongoVUE的增删改查操作使用说明

    mongoVUE的增删改查操作使用说明 一. 查询 1. 精确查询 1)右键点击集合名,再左键点击Find 或者直接点击工具栏上的Find 2)查询界面,包括四个区域 {Find}区,查询条件格式{& ...

  8. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  9. PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码

    PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...

随机推荐

  1. vmstat,iostat,sar命令详解

    Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数.此数由 linux 计算得出,但 linux 并不耗尽交换空间 Memory swpd: 虚拟内 ...

  2. c常用字符串函数

    获取字符串长度 : size_t strlen(const char *str); 字符串拷贝函数: 把src中内容拷贝到dest中,它会覆盖原来的内容,它会把src中的\0,没有覆盖内容不变 如果s ...

  3. iOS的Mantle实战分析

    公司项目之前的model层代码是我使用JSON工具直接生成Objective-C代码的,当时还是觉得相当省事的,毕竟我经历过无model层的NSDictionary“黑暗”时期.但是随着项目的推进,问 ...

  4. c#泛型方法重载

    这里存在普通的方法Foo和泛型方法Foo,如果直接调用: 则会自动优先匹配对应的非泛型方法.输出如下: 但需要注意的是,这一匹配过程是在编译过程进行的,所以如果是通过其它泛型间接调用.则只会调用对应的 ...

  5. Google Android SDK开发范例------------20141119

    一.Edit和Checkbox完成对登陆密码的查看:添加Edit的setOnCheckedChageListener和对CheckBox的状态通过isCHecked判断 大体代码如下 CheckBox ...

  6. 【CF493E】【数学】Vasya and Polynomial

    Vasya is studying in the last class of school and soon he will take exams. He decided to study polyn ...

  7. jQuery iframe 自适应高宽度

    Html <iframe id="你的id" src="你要嵌入的页面" scrolling="no" frameborder=&qu ...

  8. [C#]异步委托使用小计

    APM(=Asynchronous Programming Model(=异步编程模型)) 使用 IAsyncResult 设计模式的异步操作是通过名为 Begin操作名称 和 End操作名称 的两个 ...

  9. [CLR VIA C#] chapter2 building,packaging,deploying, and administering

    今天整理一下 assembly, 总感觉第一章 到 第三章 没怎么仔细看, 导致后面作者说前面说过的, 我就心里不舒服, 前面3章很干很涩, 好好啃啃, 先作一些简单笔记, 最后再来 整体整理, 反正 ...

  10. CentOS 6.4 安装思维到图工具TheBrain

    最近学习中需要使用思维导图的工具,但是使用的系统是CentOS,在网上找到了一个比较好的思维导图工具:TheBrain,安装完成后还是汉化版的不错啊,由于用的是linux系统,还没有找到合适的截图软件 ...