详谈easyui datagrid增删改查操作
转自: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增删改查操作的更多相关文章
- Node.js、express、mongodb 入门(基于easyui datagrid增删改查)
前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...
- easyui datagrid 增删改查示例
查询JSP页面 <!doctype html> <%@include file="/internet/common.jsp"%> <!-- 新样式右侧 ...
- asp.net mvc4 easyui datagrid 增删改查分页 导出 先上传后导入 NPOI批量导入 导出EXCEL
效果图 数据库代码 create database CardManage use CardManage create table CardManage ( ID ,) primary key, use ...
- golang学习之beego框架配合easyui实现增删改查及图片上传
golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...
- MVC与EasyUI结合增删改查
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的 ...
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- mongoVUE的增删改查操作使用说明
mongoVUE的增删改查操作使用说明 一. 查询 1. 精确查询 1)右键点击集合名,再左键点击Find 或者直接点击工具栏上的Find 2)查询界面,包括四个区域 {Find}区,查询条件格式{& ...
- (转)SQLite数据库增删改查操作
原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
随机推荐
- C#微信开发之旅--自定义菜单
上一篇说道基本信息的回复<C#微信开发之旅--基本信息的回复>,当中就说到文本信息的回复,其他信息的回复,可以参考下开发文档中回复信息的格式进行修改就可以. 下面来实现下自定义菜单.据我了 ...
- ABP手机端调用API时的CORS
这个问题其实很早就考虑了,当时因为也没有特别着急去解决这个问题,就一直拖着.... 好吧,拖延症是不好的,所有不懒得做的,终将会逼着你去再很短的时间内去解决问题...实现项目 改写一个已有的webfo ...
- ubuntu下怎么合并windows下分割的zip包
cat ziptest.z* > google_bak.zip 点击打开链接http://blog.51yip.com/linux/988.html
- [Computer Vision] SIFT特征学习笔记
SIFT(Scale Invariant Feature Transform),尺度空间不变特征,目前手工设计的最好vision特征. 以下是学习http://blog.csdn.net/zddblo ...
- nodejs -formidable模块实现图片上传。
var form = new formidable.IncomingForm(); form.uploadDir="/localnonobank/test/images/"; ...
- centos 基本操作(输入法安装,adls宽带连接,查找文件,模拟终端)
centos 基本操作之输入法安装输入法启动终端,切换到超级管理员yum install "@Chinese Support"安装成功后,退出System->Preferen ...
- PHP - php汉字转拼音
php汉字转拼音 php函数(由dedecms(dedecms/include/inc/inc_fun_funAdmin.php)的SpGetPinyin函数修改,dedecms的字典不太完全): & ...
- 未能解析此远程名称:'nuget.org'
今天用Nuget下一个程序包时,发现Nuget挂了:未能解析此远程名称:'nuget.org'.第一反应就是方校长抖威风了,挂个代理上 http://nuget.org 试了下,果然好好的. 用命令n ...
- mongodb篇二:mongodb克隆远程数据库,去重查询的命令及对应java语句
http://blog.csdn.net/qkxh320/article/details/16115671 1.首先操作mongodb最基本命令:: show databases; ...
- mysql5.7版本无法启动服务问题
cmd情况下进入mysql的bin目录后 输入命令:mysqld --initialize-insecure d:\mysql\bin