与数据库连接的页面增删改查 的easyui实现(主要是前端实现)
一.首先看一下最终实现的效果,上图

二.思路,主要是分两个文件实现,一个是页面显示文件:代码如下:
<html>
<head>
<title>示例管理</title> #parse("ui:include")
<script
src="${path}/com/gdt/project/dsm/demo/demoModel/demoModel_script.vm"></script>
<link type="text/css" rel="stylesheet" href="$path/ui/resource/common/css/global.css" />
<style>
body {
padding: 0;
margin: 0
}
</style>
</head>
<body>
<div class="easyui-layout" style="width: 100%; height: 100%;">
<div data-options="region:'north'" class="query-panel" title="查询条件" style="height: 80px;">
<form id="demoModelForm_Query" method="post">
<label>姓名:</label><input class="easyui-textbox" style="width: 110px" name="name">
<label>地址:</label><input class="easyui-textbox" style="width: 110px" name="address">
<label>身份证:</label><input class="easyui-textbox"style="width: 110px" name="cardNo">
<input type="hidden" name="rule" value="name*eq@address*eq@cardNo*eq">
<a href="javascript:void(0);" class="easyui-linkbutton" iconCls="icon-search"
onclick='javascript:$("#grid_demoModel").datagrid("load",jQuery("#demoModelForm_Query").serializeObject());'>查询</a>
</form>
</div>
<div data-options="region:'center',title:'示例列表'">
<table id="grid_demoModel"></table>
<div id="dialog_demoModel" class="easyui-dialog"
style="width: 400px; height: 280px; padding: 10px 20px;"
closed="true">
<form id="demoModelForm_Manager">
姓名:<input name="name" class="easyui-validatebox textbox"
style="width: 150px" data-options="required:true "><br>
地址:<input name="address" class="easyui-validatebox textbox"
style="width: 150px" data-options="required:true "><br>
身份证:<input id="uniquecardNo" name="cardNo"
class="easyui-validatebox textbox" style="width: 150px"
data-options="required:true">
</form>
</div>
</div>
</div>
</body>
</html>
另一个是页面与后台交互的实现代码文件:
#parse("ui:path")
jQuery(document).ready(function(){
client.initView();
});
var client = {
grid:null,
updateEntity:false,
initView:function(){
var me = this;
var toolbar = me.createToolbar();
var grid = me.initGrid({toolbar:toolbar,url:'${path}/com/gdt/project/dsm/demo/demoModel/page.do'});
},
initGrid:function(param){
this.grid = jQuery("#grid_demoModel").datagrid({
url:param.url,
pagination:true,
singleSelect:true,
fit:true,
fitColumns:true,
toolbar:param.toolbar,
columns:[[
{field:'name',title:'姓名' }, {field:'address',title:'地址' }, {field:'cardNo',title:'身份证' } ]]
});
return this.grid;
},
openInsertDialog:function(){
var me = this;
me.updateEntity = false;
jQuery("#uniquecardNo").attr("readonly",false);
me.clearForm();
me.setDialog({name:'#dialog_demoModel',button:me.executeButton(),title:'新增示例'});
},
openMergerDialog:function(){
var me = this;
var row = jQuery("#grid_demoModel").datagrid("getSelected");
if (row) {
me.updateEntity = true;
jQuery("#uniquecardNo").attr("readonly",true);
me.setDialog({name:'#dialog_demoModel',button:me.executeButton(),title:'修改示例'});
me.clearForm();
jQuery("#demoModelForm_Manager").form("load", row);
}
},
openRemoveConfirm:function(){
var row = jQuery("#grid_demoModel").datagrid("getSelected");
if (row) {
jQuery.messager.confirm('系统提示', '是否删除?', function (r) {
if (r) {
var rtn = server.deleteObject(row);
if(rtn.STATU == '801'){
client.reload();
}
}
});
}
},
executeButton:function(){
var me = this;
return [{
text:'保存',
iconCls:'icon-save',
handler:function(){
var obj = jQuery("#demoModelForm_Manager").serializeObject();
if(obj.cardNo){
var codecardNo = server.uniqueCode({cardNo:obj.cardNo,rule:'cardNo*eq'});
$('#uniquecardNo').tooltip("hide");
if(codecardNo&&!me.updateEntity){
$('#uniquecardNo').tooltip({
position: 'right',
content: '<span style="color:#000000">该编码已被占用.</span>',
onShow: function(){
$(this).tooltip('tip').css({
borderColor: 'red'
});
}
}).tooltip("show");
return;
}
}
var validate = jQuery("#demoModelForm_Manager").form('enableValidation').form('validate');
if(validate){
if(me.updateEntity){
var row = jQuery("#grid_demoModel").datagrid("getSelected");
obj['id'] = row.id;
}
var rtn = server.saveOrUpdate(obj);
if(rtn.STATU == '801'){
me.reload();
}
me.dialogControl({dialog:'#dialog_demoModel',control:'close'});
}
}
},{
text:'关闭',
iconCls:'icon-cancel',
handler:function(){
me.dialogControl({dialog:'#dialog_demoModel',control:'close'});
}
}];
},
reload:function(){
var me = this;
me.grid.datagrid("load");
},
setDialog:function(param){
jQuery(param.name).dialog({
modal:true,
buttons:param.button
}).dialog('open').dialog('setTitle', param.title);
},
createToolbar:function(){
var btns = server.btns();
var toolbar = [];
jQuery.each(btns,function(i,n){
with(n){
toolbar.push({text:btnName,iconCls:icon,handler:function(){eval(fun);}});
}
});
return toolbar;
},
clearForm:function(){
jQuery("#demoModelForm_Manager").form('clear');
},
dialogControl:function(param){
jQuery(param.dialog).dialog(param.control);
}
};
var server = {
btns:function(){
var btns = [
{btnId:'1',btnName:'新增',icon:'icon-add',enabled:'Y',fun:'client.openInsertDialog();'},
{btnId:'2',btnName:'编辑',icon:'icon-edit',enabled:'Y',fun:'client.openMergerDialog();'},
{btnId:'3',btnName:'删除',icon:'icon-remove',enabled:'Y',fun:'client.openRemoveConfirm();'}];
return btns;
},
saveOrUpdate:function(param){
var rtn = null;
jQuery.ajax({
type: "POST",
data: param,
cache:false,
async:false,
url: "${path}/com/gdt/project/dsm/demo/demoModel/sou.do",
success: function(msg){
rtn = msg;
}
});
return rtn;
},
deleteObject:function(param){
var rtn = null;
jQuery.ajax({
type: "POST",
cache:false,
async:false,
data: param,
url: "${path}/com/gdt/project/dsm/demo/demoModel/delete.do",
success: function(msg){
rtn = msg;
}
});
return rtn;
},
uniqueCode:function(param){
var rtn = false;
jQuery.ajax({
type: "POST",
cache:false,
async:false,
data: param,
url: "${path}/com/gdt/project/dsm/demo/demoModel/findAll.do",
success: function(msg){
rtn = false;
if(msg.ReturnObjs.length>0){
rtn = true;
}
}
});
return rtn;
}
};
三.根据上述的ajax中的URL在controller、service、model中编写相应的处理代码
与数据库连接的页面增删改查 的easyui实现(主要是前端实现)的更多相关文章
- 权限管理系统之LayUI实现页面增删改查和弹出层交互
由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...
- 在ASP.NET MVC4中实现同页面增删改查,无弹出框02,增删改查界面设计
在上一篇"在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建"中,已经搭建好了Repository层,本篇就剩下增删改查的界面了......今 ...
- 在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建
通常,在同一个页面上实现增删改查,会通过弹出框实现异步的添加和修改,这很好.但有些时候,是不希望在页面上弹出框的,我们可能会想到Knockoutjs,它能以MVVM模式实现同一个页面上的增删改查,再辅 ...
- 2.大约QT数据库操作,简单的数据库连接操作,增删改查数据库,QSqlTableModel和QTableView,事务性操作,大约QItemDelegate 代理
Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法參考博客:http://blog.csdn.net/tototuzuoquan ...
- 一套完整的前台页面增删改查以及js(easyui)
增加页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...
- 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建 VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...
- easyui+nodejs+sqlserver增删改查实现
用到的模块或者技术: Express: http://www.expressjs.com.cn/4x/api.html#express Easyui: http://www.jeasyui.com/d ...
- 微软Connect教程系列--自动生成增删改查页面工具介绍(二)
本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插 ...
随机推荐
- linux下set命令的参数及用法
linux set 命令 功能说明:设置shell. 语 法:set [+-abCdefhHklmnpPtuvx] 补充说明:用set 命令可以设置各种shell选项或者列 出shell变量.单个选 ...
- Cause: org.xml.sax.SAXParseException; lineNumber: 45; columnNumber: 62; 元素内容必须由格式正确的字符数据或标记组成。
三月 09, 2018 12:13:39 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending ...
- Android中MD5加密
最近项目中遇到MD5加密,代码很简单,又是死代码,不过要注意当长度不足32的时候要补个0.下面是具体代码,直接拷贝就能用. public static String getMD5(String str ...
- jQuery实现锚点滑动定位
go=function(index){ var top = $('#caseNewGuide' + index).offset().top; $('html, body').animate({ scr ...
- hdoj1087 (DP--LIS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 思路:这题很简单了,纯LIS的解法,没有一点变形,由于数据小,使用O(n^2)LIS解法就足够了 ...
- 重哈希 · rehashing
[抄题]: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: newindex = (hashTable[ ...
- 使用maven管理引入jdk1.8
需要在配置文件settings.xml中加入: <profile> <id>jdk-1.8</id> <activation> <activeBy ...
- 18-javaweb-ssm 开发中错误总结
由于web课设于是,写了几天的javaweb,在写的过程中总会遇到奇奇怪怪的一些bug, 一般都得花很多时间解决. 但是解决多了,后面碰到类似的简单多了. 总结下: 一.前端错误: 1.js错误,看前 ...
- Adplus 抓取Crash Dump
本实例在win8.1 安装window kits https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit 1 ...
- 面向对象设计模式纵横谈:Factory Method 工厂方法模式(笔记记录)
从耦合关系谈起 耦合关系直接决定着软件面对变化时的行为 -模块与模块之间的紧耦合使得软件面对变化时,相关模块都要随之更改 -模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其 ...