easyUI-增删改查

页面整体效果

首先是页面层:

因为数据中涉及到Date类型的字段,所以在一开始先做了一个拼装装换日期格式的方法

因为在easyUI的JSON解析的Data是一个long型的数字长串,关于解析的数字长串具体含义,自己查,不做多说。

让后定义点击按钮的初始情况为添加“add”,用于下面的判断,到底是添加还是修改,因为这里公用了一个弹出对话框

下面就是具体显示出的内容,表格datagrid

通过frozenColumns:[[{field:‘主键字段名‘,title:‘页面显示字段名称’,width:100}]]

和columns:[[{field:‘字段名‘,title:‘页面显示字段名称’,width:100}]]定义列。

然后就是具体的样式设计,注意:在排序的时候注意下面的remoteSort要设成true

接下来就是顶部工具栏的查询、修改、删除、添加的按钮设置,通过:toolbar:[]

1.查询:

查询可分为全表查询和按条件查询,通过定义form表单,把查询条件通过get请求传递给Servlet层

panel面板的form表单,查询条件设置

2.添加

<div class="easyui-dialog" id="saveStu" style="width:400px; height:300px"
title="添加学生"
data-options="{
closed:true,
modal:true,
buttons:[{
text:‘保存‘,
iconCls:‘icon-save‘,
	handler:function(){
		$(‘#form1‘).form(‘submit‘,{

			url:‘SaveStudentServlet?type=‘+ type,  //把定义的默认值是add的添加的方法传给Servlet然后判断
			onSubmit:function(){
				var isValid = $(this).form(‘validate‘);
				if(!isValid)
				{
					$.messager.show({

						title:‘消息‘,
						msg:‘数据验证未通过‘
					});
				}
				return isValid;	// 返回false终止表单提交
			},
			success:function(data){
				var msg = eval(‘(‘+ data +‘)‘);//eval是js的方法
			if(!msg.success)
				{
					alert(msg.message);
				}
				else
				{
				 $(‘#hh‘).datagrid(‘load‘);
					$.messager.show({

						title:‘消息‘,
						msg:‘数据验证通过,保存成功‘
					});
					$(‘#saveStu‘).dialog(‘close‘);
				}

			}
		});
	}

},

{
text:‘取消‘,
iconCls:‘icon-cancel‘,
	handler:function(){$(‘#saveStu‘).dialog(‘close‘)},
}]
}">
	<form action="" id="form1" method="post"><br><br>
		<table border="0" width=100%>
			<tr>
				<td align="right" width="30%">学号:</td>
				<td>
					<input class="easyui-textbox" id="sno" name="sno"
					data-options="required:true,validType:‘length[3,8]‘">
				</td>
			</tr>
			<tr>
				<td align="right" width="30%">姓名:</td>
				<td>
					<input class="easyui-textbox" id="sname" name="sname"
					data-options="required:true,validType:‘length[2,3]‘">
				</td>
			</tr>
			<tr>
				<td align="right" width="30%">性别:</td>
				<td>
					<input type="radio" name="ssex" value="男" checked>男
					<input type="radio"  name="ssex" value="女">女

				</td>
			</tr>

			<tr>
				<td align="right" >生日:</td>
				<td>
					<input class="easyui-datebox" id="sbirthday" name="sbirthday"
					data-options="required:false,">
				</td>
			</tr>

			<tr>
				<td align="right" >班级:</td>
				<td>
					<input class="easyui-textbox" id="sclass" name="sclass"
					data-options="required:true,validType:‘length[5,5]‘">
				</td>
			</tr>
		</table>

	</form>

</div>

  3.修改

4.删除

{
	        		        	 iconCls:‘icon-delete‘,
	        		        	 text:‘删除‘,
	        		        	 handler:function(){
	        		        //getSelections返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。
	        		        		var data = $("#hh").datagrid(‘getSelections‘);
	        		        		if(data.length > 0)
	        		        			{
	        		        				//alert("条数="+data.length);
	        		        				$.messager.confirm(
	        		        					‘确认‘,‘您确认要删除吗?‘,function(r){
	        		        						if(r)
	        		        							{
	        		        							 //alert("fff="+data[0].sno);
	        		        							 //使用数组保存选中数据的记录主键
	        		        							 var snos=[];
	        		        							 for(var i = 0 ; i<data.length;i++)
	        		        								 {
	        		        								 	snos [i]= data[i].sno;
	        		        								 }
	        		        							 //把要删除的主键传递给Servlet
	        		        							$.get("DeleteServlet?sno="+snos,

	        		        								function(rtn){

	        		        								 //alert(rtn);
	        		        								 //解析
	        		        								 var ms = eval("("+ rtn +")");
	        		        								 if(ms.success)
	        		        									 {
	        		        									 //若删除成功刷新页面
	        		        									 $("#hh").datagrid(‘reload‘);
	        		        									 }
	        		        								 $.messager.show({
	        		        									 title:‘提示‘,
	        		        									 msg:ms.message
	        		        								 });
	        		        							 });
	        		        							}
	        		        					}
	        		        				);
	        		        			}
	        		        		else
	        		        			{
	        		        				$.messager.show({
	        		        					title:‘提示‘,
	        		        					msg:‘请选择一条要删除的数据‘
	        		        				})
	        		        			}
	        		         	}
	        		         }

  整体界面代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- 顺序不可以乱 -->
<!-- 1.jQuery的js包 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/jquery.min.js"></script>
<!-- 2.css资源 -->
<link  rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/default/easyui.css">
<!-- 3. 图标资源 -->
<link  rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/icon.css">
<!-- 4.easyui的js包 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/jquery.easyui.min.js"></script>
<!-- 5.本地语言 -->
<script type="text/javascript" src="jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>
</head>
<body>
<script type="text/javascript">

//把long型的日期转成yyyy-MM-dd
function getDate(date)
{
	//得到日期对象
	var d = new Date(date);
	//得到年  月  日
	var year = d.getFullYear();
	var month = (d.getMonth()+1);
	var day = d.getDate();
	//拼装
	var rtn = year+"-"+(month<10 ? "0"+month : month) + "-"+(day<10 ? "0"+day : day);
	return rtn;
}

var type = "add";//定义点击按钮,初始化是添加的

$(function(){

	$("#hh").datagrid({

		url:‘StudentServlet‘,
	//冻结列
	frozenColumns:[[
	                {field:‘id‘,checkbox:true},//复选框
	                {field:‘sno‘,title:‘学号‘,width:100}
	                ]],

	              //定义列  列配置对象
	        	    columns:[[    

	        	        {field:‘sname‘,title:‘姓名‘,width:200,align:‘center‘},
	        	        {field:‘ssex‘,title:‘性别‘,width:200,align:‘center‘,
	        	        	formatter: function(value,row,index){
	        	        		if(value == ‘男‘||value == ‘f‘)
	        	        			{
	        	        				return ‘男‘;
	        	        			}
	        	        		else
	        	        			{
	        	        				return ‘女‘;
	        	        			}
	        	        	},
	        	        	styler:function(value,row,index){
	        	        		if(value==‘男‘|| value==‘f‘)
	        	        			{
	        	        				return ‘background-color:#ccccff;color:red;‘;

	        	        			}
	        	        	}
	        	        },

	        	        {field:‘sbirthday‘,title:‘生日‘,width:200,align:‘right‘,
	        	        	formatter:function(value, row, index){
	        	        		 if(value && value !="")
	     		      			{
	     		      				return getDate(value);
	     		      			}
	     		      		else
	     		      			{
	     		      				return ‘无‘;
	     		      			}

	  		        	  }

	        	        },

	        	        {field:‘sclass‘,title:‘班级‘,width:200,align:‘center‘}

	        	    ]] ,
	        	    fitColumns:true,       //列自适应宽度,不能和冻结列同时设置为true
	        	    striped:true,           //斑马线
	        	    idField:‘sno‘,     //主键列
	        	    rownumbers:true,        //显示行号
	        	    singleSelect:false,      //是否单选
	        	    pagination:true,         //分页栏
	        	    pageList:[8,16,24,32] ,  //每页行数选择列表
	        		pageSize:8   ,            //初始每页行数
	        		remoteSort:true  ,      //是否服务器端排序,设成false才能客户端排序
	        		//sortName:‘unitcost‘,     //定义哪些列可以进行排序。
	        		sortName:‘sno‘,//排序字段,基于服务器端排序
	        		sortOrder:‘desc‘,//排序顺序
	        		//顶部工具栏
	        		toolbar:[

							{
	 							iconCls:‘icon-search‘,
								 text:‘查询‘,

								 handler:function(){
									 //序列化查询表单
									var f = $("#form2").serialize();
									//alert(f);
									 $("#hh").datagrid({url:"StudentServlet?"+f})},//把查询条件带给servlet

							},

	        		         {
	        		        	 iconCls:‘icon-add‘,
	        		        	 text:‘添加‘,
	        		        	 handler:function(){
	        		        		 type ="add";
	        		        		//$("#sno").textbox({readonly:false});
	        		        		 //清除表单旧数据
	        		        		 $("#form1").form("reset");//重置表单数据

	        		        		 $("#saveStu").dialog(‘open‘);
	        		        		 }
	        		         },
	        		         {
	        		        	 iconCls:‘icon-edit‘,
	        		        	 text:‘修改‘,
	        		        	 handler:function(){
	        		        		 type ="edit";
	        		        		 //判断是否选中一条数据
	        		        		 var data = $("#hh").datagrid(‘getSelected‘);
	        		        		 if(data)
	        		        			 {
	        		        			 	//alert(date);
	        		        			 	//设置主键字段只读
	        		        			 	$("#sno").textbox({readonly:true});
	        		        			 	$("#form1").form("reset");//重置表单数据
	        		        			 	$(‘#form1‘).form(‘load‘,{sno:data.sno,
	        		        			 		sname:data.sname,
	        		        			 		ssex:data.ssex,
	        		        			 		sbirthday:getDate(data.sbirthday),
	        		        			 		sclass:data.sclass
	        		        			 	});
	        		        			 	//$("#form1").form()

	        		        			 	 $("#saveStu").dialog({title:‘修改学生‘}).dialog(‘open‘);

	        		        			 }
	        		        		 else
	        		        			 {
	        		        			 	$.messager.show({
	        		        			 		title:‘提示‘,
	        		        			 		msg:‘请选中一条记录‘
	        		        			 	});
	        		        			 }

	        		         	}
	        		         },
	        		         {
	        		        	 iconCls:‘icon-delete‘,
	        		        	 text:‘删除‘,
	        		        	 handler:function(){
	        		        //getSelections返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。
	        		        		var data = $("#hh").datagrid(‘getSelections‘);
	        		        		if(data.length > 0)
	        		        			{
	        		        				//alert("条数="+data.length);
	        		        				$.messager.confirm(
	        		        					‘确认‘,‘您确认要删除吗?‘,function(r){
	        		        						if(r)
	        		        							{
	        		        							 //alert("fff="+data[0].sno);
	        		        							 //使用数组保存选中数据的记录主键
	        		        							 var snos=[];
	        		        							 for(var i = 0 ; i<data.length;i++)
	        		        								 {
	        		        								 	snos [i]= data[i].sno;
	        		        								 }
	        		        							 //把要删除的主键传递给Servlet
	        		        							$.get("DeleteServlet?sno="+snos,

	        		        								function(rtn){

	        		        								 //alert(rtn);
	        		        								 //解析
	        		        								 var ms = eval("("+ rtn +")");
	        		        								 if(ms.success)
	        		        									 {
	        		        									 //若删除成功刷新页面
	        		        									 $("#hh").datagrid(‘reload‘);
	        		        									 }
	        		        								 $.messager.show({
	        		        									 title:‘提示‘,
	        		        									 msg:ms.message
	        		        								 });
	        		        							 });
	        		        							}
	        		        					}
	        		        				);
	        		        			}
	        		        		else
	        		        			{
	        		        				$.messager.show({
	        		        					title:‘提示‘,
	        		        					msg:‘请选择一条要删除的数据‘
	        		        				})
	        		        			}
	        		         	}
	        		         }
	        	 ],
	});
})

</script>
<div id="search" class="easyui-panel" title="查询条件" style="height:80px;width:100%"
data-options="{
iconCls:‘icon-search‘,
collapsible:true}">
	<form id="form2"><br>
		<table  border="0"  style="margin-left:30px">
			<tr>
				<td>姓名:<input class="easyui-textbox" id="sname_s" name="sname_s"></td>
				<td>班级:<input class="easyui-textbox" id="sclass_s" name="sclass_s"></td>
			</tr>
		</table>

	</form>
</div>

<table id="hh"></table>

<div class="easyui-dialog" id="saveStu" style="width:400px; height:300px"
title="添加学生"
data-options="{
closed:true,
modal:true,
buttons:[{
text:‘保存‘,
iconCls:‘icon-save‘,
	handler:function(){
		$(‘#form1‘).form(‘submit‘,{

			url:‘SaveStudentServlet?type=‘+ type,  //把定义的默认值是add的添加的方法传给Servlet然后判断
			onSubmit:function(){
				var isValid = $(this).form(‘validate‘);
				if(!isValid)
				{
					$.messager.show({

						title:‘消息‘,
						msg:‘数据验证未通过‘
					});
				}
				return isValid;	// 返回false终止表单提交
			},
			success:function(data){
				var msg = eval(‘(‘+ data +‘)‘);//eval是js的方法
			if(!msg.success)
				{
					alert(msg.message);
				}
				else
				{
				 $(‘#hh‘).datagrid(‘load‘);
					$.messager.show({

						title:‘消息‘,
						msg:‘数据验证通过,保存成功‘
					});
					$(‘#saveStu‘).dialog(‘close‘);
				}

			}
		});
	}

},

{
text:‘取消‘,
iconCls:‘icon-cancel‘,
	handler:function(){$(‘#saveStu‘).dialog(‘close‘)},
}]
}">
	<form action="" id="form1" method="post"><br><br>
		<table border="0" width=100%>
			<tr>
				<td align="right" width="30%">学号:</td>
				<td>
					<input class="easyui-textbox" id="sno" name="sno"
					data-options="required:true,validType:‘length[3,8]‘">
				</td>
			</tr>
			<tr>
				<td align="right" width="30%">姓名:</td>
				<td>
					<input class="easyui-textbox" id="sname" name="sname"
					data-options="required:true,validType:‘length[2,3]‘">
				</td>
			</tr>
			<tr>
				<td align="right" width="30%">性别:</td>
				<td>
					<input type="radio" name="ssex" value="男" checked>男
					<input type="radio"  name="ssex" value="女">女

				</td>
			</tr>

			<tr>
				<td align="right" >生日:</td>
				<td>
					<input class="easyui-datebox" id="sbirthday" name="sbirthday"
					data-options="required:false,">
				</td>
			</tr>

			<tr>
				<td align="right" >班级:</td>
				<td>
					<input class="easyui-textbox" id="sclass" name="sclass"
					data-options="required:true,validType:‘length[5,5]‘">
				</td>
			</tr>
		</table>

	</form>

</div>
</body>
</html>

  Servlet层

1.转码,2.接受各种参数病判断(分页参数,排序参数,查询条件参数)3.判断解析JSON调用底层方法

package com.hanqi.web;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hanqi.service.StudentService;

public class StudentServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public StudentServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//转码
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html");

		//接受参数
		//分页参数
		String spage = request.getParameter("page");//页码
		String srows = request.getParameter("rows");//每页行数

		//排序参数
		String sort = request.getParameter("sort");//排序主键列
		String order = request.getParameter("order");//排序方式
		//System.out.println("order="+order+"sort="+sort);

		//查询参数
		String sname_s = request.getParameter("sname_s");
		if(sname_s != null)
		{
		sname_s  = new String(sname_s.getBytes("ISO-8859-1"),"UTF-8");
		}

		String sclass_s = request.getParameter("sclass_s");

		if(sclass_s != null)
		{
		sclass_s  = new String(sclass_s.getBytes("ISO-8859-1"),"UTF-8");
		}
		System.out.println("sname_s="+sname_s+"sclass_s="+sclass_s);

		//对条件进行打包
		Map<String,String> where = new HashMap<String,String>();

		where.put("sname_s", sname_s);
		where.put("sclass_s", sclass_s);

		//对分页情况的判断
		if(spage!= null && srows != null)
		{
			//转型
			int page = Integer.parseInt(spage);
			int rows = Integer.parseInt(srows);

		//组合排序语句
		String  ls = "";
			if(sort != null && order != null)
			{
				ls= sort + " " + order;//注意加空格
			}
			//System.out.println("ls="+ls);
			String json = new StudentService().getPageJSON(page, rows,ls,where);
			response.getWriter().println(json);
		}
		else
		{
			response.getWriter().println("{total:0,rows:[]}");
		}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

  service层

package com.hanqi.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hanqi.dao.StudentDAO;
import com.hanqi.entity.Student;

public class StudentService {

	PageJSON<Student> pj = new PageJSON<Student>();//引用泛型类
	//查询分页数据
	//返回JSON
	public String getPageJSON(int page, int rows,String sort,Map<String,String> where)
	{

		String rtn = JSONObject.toJSONString(pj);   //"{total:0,rows:[]}";//空的JSON对象

		int total = new StudentDAO().getTotal(where);//符合查询条件的总条数
		if(total>0)
		{
			List<Student> ls = new StudentDAO().getPageList(page, rows,sort,where);

			//String ls_json = JSONArray.toJSONString(ls);//转成JSON格式

			pj.setTotal(total);
			pj.setRows(ls);

			rtn = JSONObject.toJSONString(pj);

			//转义字符,转成JSON读取的格式
			//rtn =  "{\"total\":"+total+",\"rows\":"+ls_json+"}" ;

		}

		return rtn;
	}

	//添加保存
	public void addStudent(Student stu)
	{
		new StudentDAO().insert(stu);
	}
	//修改保存
		public void editStudent(Student stu)
		{
			new StudentDAO().update(stu);
		}

		//删除
				public void deleteStudent(String sno)
				{
					new StudentDAO().delete(sno);
				}

}

  DAO层

注意拼装查询,排序条件的时候前后的空格

package com.hanqi.dao;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

import com.hanqi.entity.Region;
import com.hanqi.entity.Student;

public class StudentDAO {

	Configuration  cfg = null;
	ServiceRegistry  sr = null;
	 SessionFactory sf = null;
	 Session  se =null;
	Transaction tr = null;

	public StudentDAO()//注册服务
	{
		//1.加载配置文件
				cfg = new Configuration().configure();
				//2.注册服务
				 sr = new  StandardServiceRegistryBuilder()
						.applySettings(cfg.getProperties()).build();
	}
	//初始化
	private void init()
	{
		sf= cfg.buildSessionFactory(sr);
		se = sf.openSession();
		tr = se.beginTransaction();
	}
	//提交和释放
	private void destroy()
	{
		tr.commit();//提交事务
		se.close();
		sf.close();
	}

	//获取分页数据集合列表
	public List<Student> getPageList(int page , int rows,String sort,Map<String,String> where)
	{
		init();
		//创建基础HQL语句
		String sql = "from Student where 1=1";
		//判断传递的的参数
		String sname =  where.get("sname_s");
		if(sname != null && !sname.equals(""))
		{
			sql += " and sname = :sname";
		}

		String sclass =  where.get("sclass_s");
		if(sclass != null && !sclass.equals(""))
		{
			sql += " and sclass = :sclass";
		}
		//排序

		if(sort != null && !sort.equals(""))
		{
			sql += " order by " + sort;
		}
		//得到HQL
	//并判断查询条件
	Query q = se.createQuery(sql);
	if(sname != null  && !sname.equals(""))
	{
		q.setString("sname",sname);
	}
	if(sclass != null && !sclass.equals(""))
	{
		q.setString("sclass",sclass);
	}

		 List<Student> rtn = new ArrayList<Student>();
		 rtn = q.setMaxResults(rows)//每页行数
			 .setFirstResult((page-1)*rows).list();//起始页码

		 destroy();
		return rtn;
	}

	//获取数据条数
	public int getTotal(Map<String,String> where)
	{
		int rtn= 0;
		init();
		//创建基础HQL语句
				String sql = "select count(1) from Student where 1=1";
				//判断传递的的参数
				String sname =  where.get("sname_s");
				if(sname != null && !sname.equals(""))
				{
					sql += " and sname = :sname";//and前面加空格
				}

				String sclass =  where.get("sclass_s");
				if(sclass != null && !sclass.equals(""))
				{
					sql += " and sclass = :sclass";
				}
				//得到HQL
				Query q = se.createQuery(sql);
				if(sname != null  && !sname.equals(""))
				{
					q.setString("sname",sname);
				}
				if(sclass != null && !sclass.equals(""))
				{
					q.setString("sclass",sclass);
				}
		//获取Query对对象,定义集合并实例化
		List<Object> lo = q.list();

		if(lo != null && lo.size() > 0)
		{
			rtn = Integer.parseInt(lo.get(0).toString());//转换成int并赋值
		}

		 destroy();

		return rtn;
	}

	//添加数据
	public void insert(Student stu)
	{
		init();

		se.save(stu);

		 destroy();

	}

	//修改数据
		public void update(Student stu)
		{
			init();

			se.update(stu);

			 destroy();

		}

	//删除
		public void delete(String sno)
		{
			init();
			//Student st = (Student)se.get(Student.class, sno);

			//se.delete(st);

			//HQL方式执行删除
			 se.createQuery("delete  Student where sno =?")
			 .setString(0, sno)
			 .executeUpdate();

			 destroy();
		}

}

  

时间: 2024-11-08 13:18:52

easyUI-增删改查的相关文章

ssm框架搭建+easyui增删改查实现

闲来无事,看了看别人的博客文档也跟着敲了敲,特地记录下来,方便以后学习: spring版本:4.0.6 mybatis版本:3.2.5 所有jar包打包下载:http://pan.baidu.com/s/1qLEaU 1.项目目录结构 其中,controller包下存放控制层文件,dao下存放各个model类相关的数据库操作接口,entity下放置各种model类,mappers下放置各个dao对应的映射文件,service服务层就不说了,放置各种service接口,impl是其具体实现类. 2

SSM框架搭建+easyui增删改查

转载于:http://www.cnblogs.com/caiya928/p/4851686.html?utm_source=tuicool&utm_medium=referral 闲来无事,看了看别人的博客文档也跟着敲了敲,特地记录下来,方便以后学习: spring版本:4.0.6 mybatis版本:3.2.5 所有jar包打包下载:http://pan.baidu.com/s/1qLEaU 1.项目目录结构 其中,controller包下存放控制层文件,dao下存放各个model类相关的数据

EasyUI 增删改查完全详细

本实例使用EasyUI创建表格,元素,窗口,以及各种请求.增加,修改,查询及其他知识基本涵盖完全.有用到js创建和html创建. 整体概览: 多条件的分页查询 dialog对话框实现添加功能,加入验证 window弹窗多条件分页查询 修改信息 导入: <pre name="code" class="html"><%@ page contentType="text/html; charset=utf-8" import="

easyui datagrid java增删改查 动态补全

猛击-->   easyui datagrid 增删改查 动态补全 easyui datagrid java增删改查 动态补全,布布扣,bubuko.com

easyui+nodejs+sqlserver增删改查实现

用到的模块或者技术: Express: http://www.expressjs.com.cn/4x/api.html#express Easyui: http://www.jeasyui.com/documentation/index.php# express-session:https://www.npmjs.com/package/express-session#resave node-mssql: http://csdoc.org/ Redis: http://redis.io/ art

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

前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验下node.js的魔力,二就是看看node.js.express和mongoose的API,其次就是把自己入门的过程记录下来,方便自己查看,再就是对入门的朋友起一个引导的作用. 敲demo的过程中感觉最爽的就是npm(Node Package Manager)是一个Node.js的包管理和分发工具.

beego框架配合easyui实现增删改查及图片上传

demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基于golang的后台管理系统</title> <link rel="stylesheet" type="t

EasyUI + Spring MVC + hibernate实现增删改查导入导出

(这是一个故事……) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已经搭建好的框架平台,在平台上进行编码,不限制技术. 虽然说不限制技术,但还是得根据已经搭建的框架平台进行编码. 所以首先第一步,分析框架平台结构组成. 入手:看目录.看配置.看jar包.看js库.看数据库... 不难发现项目是基于:Spring + Hibernate + Spring MVC +

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下.这讲主要是,制作漂亮的工具栏,虽然easyui的datagrid已经自带可以设置工具栏,我们还是要提取出来,为以后权限控制做更好的准备. 前端代码没有逻辑结果,这也许是我写代码以来写得最轻松的,但也是最繁琐的,因为美工我不是强项,每一次调整都非常的困难,最后我把他调成了这样了: 看得过去的鼓掌一下.样式已经包含在附加代码中了. 大家只要加入以下HTML代码到index上就可以

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

abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui