easyui-datagrid个人实例
这个实例数据表格的功能,可以实现分页,增删改查功能
1.user.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css"
href="<%=path%>/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
href="<%=path%>/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css" href="<%=path%>/easyui/demo.css">
<script type="text/javascript" src="<%=path%>/easyui/jquery-1.7.2.min.js"></script>
<script type="text/javascript"
src="<%=path%>/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript">
$(function() {
var flag ;//判断新增还是修改
$('#tab').datagrid({
title : '用户列表',
iconCls : 'icon-edit',//图标
//width : '400px',
height : 'auto',
nowrap : false,//当true的时候,会显示在一行里
striped : true,//各行变色
border : true,
collapsible : false,//是否可折叠的
fit : true,//自动大小
url : '/egoTest/user/queryUser.do',
//sortName: 'code',
//sortOrder: 'desc',
remoteSort : false,
loadMsg:'数据正在加载,请等待......',
idField : 'id',
singleSelect : true,//是否单选
pagination : true,//分页控件
rownumbers : true,//行号
checkOnSelect : true,
selectOnCheck : true,
// remoteSort : false,
// sortName:'userName',
// sortOrder:'asc',
rowStyler:function(index,record){
console.info(index);
console.info(record);
/*if(record.age > 5000){
return "background:red";
}*/
},
frozenColumns:
[[
//你把 ck 换成 QID 试试
{ field: 'QID', checkbox: true }
]],
columns : [ [ {
field : 'id',
title : 'id',
width : '30%'
}, {
field : 'userName',
title : 'userName',
width : '30%',
sortable:true
}, {
field : 'age',
title : 'age',
width : '30%',
align : 'right',
sortable:true
} ] ],
toolbar : [ {
text : '添加',
iconCls : 'icon-add',
handler : function() {
flag = 'add';
$("#my_dialog").dialog({
title:"新增用户"
})
$("#form_user").get(0).reset();
$("#my_dialog").dialog('open');
}
}, '-', {
text : '修改',
iconCls : 'icon-edit',
handler : function() {
flag = 'edit';
var arr = $("#tab").datagrid("getSelections");
if(arr.length != 1){
$.messager.show({
title:'提示信息',
msg:'只能选择一行记录进行修改'
});
}else{
$("#my_dialog").dialog({
title:"修改用户"
})
$("#my_dialog").dialog('open');
$("#form_user").get(0).reset();
$("#form_user").form('load',{
id :arr[0].id ,
userName : arr[0].userName ,
age : arr[0].age
});
}
}
}, '-', {
text : '删除',
iconCls : 'icon-remove',
handler : function() {
var arr = $("#tab").datagrid("getSelections");
if(arr.length <= 0){
$.messager.show({
title:'提示信息',
msg:'只能选择一行记录进行删除!'
});
}else{
$.messager.confirm("提示信息","确认删除吗",function(r){
if(r){
var ids = '';
for(var i =0;i<arr.length;i++){
ids += arr[i].id + ",";
}
ids = ids.substring(0,ids.length-1);
$.post('/egoTest/user/deleteUser.do',{ids:ids},function(result){
$("#tab").datagrid("reload");
$("#tab").datagrid('unselectAll'); //清空idFiled
$.messager.show({
title:'提示信息',
msg:'操作成功!'
});
});
}else{
return;
}
})
}
}
} , '-', {
text : '查询',
iconCls : 'icon-search',
handler : function() {
$("#lay").layout('expand','north');
}
}],
});
//设置分页控件
var p = $('#tab').datagrid('getPager');
$(p).pagination({
pageSize : 10,//每页显示的记录条数,默认为10
pageList : [ 5, 10, 15, 20, 50 ],//可以设置每页记录条数的列表
beforePageText : '第',//页数文本框前显示的汉字
afterPageText : '页 共 {pages} 页',
displayMsg : '当前显示 {from} - {to} 条记录 共 {total} 条记录',
onBeforeRefresh : function() {
$(this).pagination('loading');
// alert('before refresh');
$(this).pagination('loaded');
$('#tab').datagrid('reload');
}
});
$("#btn1").click(function(){
if($('#form_user').form('validate')){
$.ajax({
type : 'POST',
url : flag == 'add'?'/egoTest/user/saveUser.do':'/egoTest/user/updateUser.do',
data: $('#form_user').serialize(),
dataType : 'json',
success : function(data) {
//关闭窗口
$("#my_dialog").dialog('close');
//刷新datagrid
$("#tab").datagrid('reload');
//提示信息
$.messager.show({
title: data.status,
msg: data.message
});
},
error : function(data) {
$.messager.show({
title: '提示信息',
msg:'错误返回'
})
}
});
}else{
$.messager.show({
title : '提示信息',
msg:'数据验证不通过,不能保存!'
})
}
});
$("#btn2").click(function(){
$("#my_dialog").dialog('close');
});
$("#searchbtn").click(function(){
$("#tab").datagrid('load',serializeForm($("#mysearch")));
});
$("#clearbtn").click(function(){
$("#mysearch").form('clear');
$("#tab").datagrid('load',{});
});
function serializeForm(form){
var obj = {};
$.each(form.serializeArray(),function(index){
if(obj[this['name']]){
obj[this['name']] = obj[this['name']] + ',' +this['value'];
}else{
obj[this['name']] = this['value'];
}
});
return obj;
}
});
</script>
<style type="text/css">
body {
font-family:verdana,helvetica,arial,sans-serif;
padding:5px;
font-size:12px;
margin:0;
}
</style>
</head>
<body>
<div id="lay" class="easyui-layout" style="width: 100%; height: 100%;">
<div region="north" title="用户查询" collapsed=true style="height: 100px;">
<form id="mysearch" method="post">
用户名:<input name="userName" class="easyui-validatebox" required="true" missingMessage="请输入姓名" value=""/>
年龄:<input name="age" class="easyui-validatebox" required="true" missingMessage="请输入年龄" value=""/>
<a id="searchbtn" class="easyui-linkbutton">查询</a>
<a id="clearbtn" class="easyui-linkbutton">清空</a>
</form>
</div>
<div region="center">
<table id="tab"></table>
</div>
</div>
<div id="my_dialog" title="新增用户" modal=true draggable=false class="easyui-dialog" closed=true style="width:700px;height:400px;">
<form id="form_user" action="">
<table align="center">
<tr>
<td>编号:</td>
<td><input type="text" id="id" name="id"
class="easyui-validatebox" required="true" missingMessage="请输入编号" /></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" id="userName" name="userName"
class="easyui-validatebox" required="true" missingMessage="请输入姓名" /></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="password" id="age" name="age"
class="easyui-validatebox" required="true" missingMessage="请输入年龄" /></td>
</tr>
<tr>
<td colspan="2">
<a id="btn1" class="easyui-linkbutton">确定</a>
<a id="btn2" class="easyui-linkbutton">取消</a>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
2.UserController.java
package com.controller;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import com.model.User;
import com.service.UserService;
import com.util.Page;
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/getAllUser")
public String getAllUser(HttpServletRequest request,
HttpServletResponse response, ModelMap modelMap, Page page) {
List<String> list = new ArrayList<String>();
list.add("cxx1");
list.add("cxx2");
list.add("cxx3");
List<User> uList = userService.getAllUser(page);
modelMap.put("uList", uList);
modelMap.put("list", list);
return "index2";
}
@RequestMapping("/getAjaxUser")
public void getAjaxUser(HttpServletRequest request,
HttpServletResponse response, ModelMap modelMap, Page page) {
try {
response.setContentType("text/html;charset=UTF-8");
List<User> uList = userService.getAllUser(page);
Map<String, Object> map = new HashMap<String, Object>();
// map.put( "total",total);
map.put("total", 57);
map.put("rows", uList);
JSONObject json = JSONObject.fromObject(map);
// String str = "aabbcc";
PrintWriter pw = response.getWriter();
pw.write(json.toString());
pw.flush();
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@RequestMapping("/getAjaxUser2")
public void getAjaxUser2(HttpServletRequest request,
HttpServletResponse response, ModelMap modelMap, Page page) {
try {
response.setContentType("text/html;charset=UTF-8");
List<User> uList = userService.getAllUser(page);
Map<String, Object> map = new HashMap<String, Object>();
// map.put( "total",total);
map.put("total", Integer.valueOf(page.getTotal()));
map.put("rows", uList);
JSONObject json = JSONObject.fromObject(map);
// String str = "aabbcc";
PrintWriter pw = response.getWriter();
pw.write(json.toString());
pw.flush();
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@RequestMapping("/queryUser")
public void queryUser(HttpServletRequest request,
HttpServletResponse response, ModelMap modelMap, Page page) {
try {
String currentPage = request.getParameter("page");
String pageSize = request.getParameter("rows");
String userName = request.getParameter("userName")==null?"":request.getParameter("userName");
String age = request.getParameter("age")==null?"":request.getParameter("age");
Map<String,Object> queryMap = new HashMap<String,Object>();
queryMap.put("userName",userName);
queryMap.put("age",age);
page.setCurrentPage(Integer.parseInt(currentPage));
page.setPageSize(Integer.parseInt(pageSize));
response.setContentType("text/html;charset=UTF-8");
// Thread.sleep(500);
List<User> uList = userService.queryUser(page,queryMap);
Map<String, Object> map = new HashMap<String, Object>();
// map.put( "total",total);
map.put("total", Integer.valueOf(page.getTotal()));
map.put("rows", uList);
JSONObject json = JSONObject.fromObject(map);
// String str = "aabbcc";
PrintWriter pw = response.getWriter();
pw.write(json.toString());
pw.flush();
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@RequestMapping("/saveUser")
public void saveUser(HttpServletRequest request,
HttpServletResponse response,User u) {
try{
response.setContentType("text/html;charset=UTF-8");
PrintWriter pw = response.getWriter();
String id = request.getParameter("id");
String userName = request.getParameter("userName");
String age = request.getParameter("age");
u.setId(Integer.parseInt(id));
u.setUserName(userName);
u.setAge(Integer.parseInt(age));
userService.saveUser(u);
String result = "{\"status\":\"ok\",\"message\":\"操作成功\"}";
pw.write(result);
pw.flush();
pw.close();
}catch (Exception e) {
e.printStackTrace();
}
}
@RequestMapping("/updateUser")
public void updateUser(HttpServletRequest request,
HttpServletResponse response,User u){
try{
String id = request.getParameter("id");
String userName = request.getParameter("userName");
String age = request.getParameter("age");
u = userService.findUserById(id);
u.setId(Integer.parseInt(id));
u.setUserName(userName);
u.setAge(Integer.parseInt(age));
userService.updateUser(u);
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter pw = response.getWriter();
String result = "{\"status\":\"ok\",\"message\":\"操作成功\"}";
pw.write(result);
pw.flush();
pw.close();
}catch (Exception e) {
e.printStackTrace();
}
}
@RequestMapping("/deleteUser")
public void deleteUser(HttpServletRequest request,
HttpServletResponse response,User u){
String[] ids = request.getParameter("ids").split(",");
for(int i=0;i<ids.length;i++){
userService.deleteUser(ids[i]);
}
}
}
easyui-datagrid个人实例的更多相关文章
- Jquery EasyUI DataGrid .net实例
前台界面:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- easyui DatagrId 的实例讲解
下面是代码实现 @{ ViewBag.Title = "人员查找"; ViewBag.LeftWidth = "200px"; ViewBag ...
- EasyUI datagrid优化
easyui datagrid 在IE上加载速度慢, 150行数据就无法忍受了. firefox加载速度还可以. jquery easyui datagrid使用参考 http://www.cnblo ...
- 实现easyui datagrid在没有数据时显示相关提示内容
本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...
- jQuery EasyUI datagrid实现本地分页的方法
http://www.codeweblog.com/jquery-easyui-datagrid%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e5%88%86%e9%a1% ...
- [转载]再次谈谈easyui datagrid 的数据加载
这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...
- 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中
背景: 昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...
- springMVC注解方式+easyUI+MYSQL配置实例
刚接触springMVC,使用的注解方式,也在学习阶段,所以把自己学习到的记下来.本文利用springMVC从数据库读取用户信息为例,分享一下. 1.准备相关架包及资源.因为使用springMVC+e ...
- 谈谈easyui datagrid 的数据加载(转)
这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...
- 再次谈谈easyui datagrid 的数据加载
from:http://www.easyui.info/archives/204.html 这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实ea ...
随机推荐
- SpringBoot------注解把配置文件自动映射到属性和实体类
1.映射到属性 package top.ytheng.demo.controller; import org.springframework.beans.factory.annotation.Valu ...
- Lambda模式
Class TestPatterns '<<1.Self-Defining Functions-自定义函数>> Public Shared Sub SelfDefining() ...
- linux下kill -9 pid 强制不能杀掉进程原因
今天安装集群的时候,发现一个进程一直存在,kill -9 pid 也干不掉,就找找原因了. kill -9发送SIGKILL信号将其终止,但是以下两种情况不起作用:a.该进程处于"Zomb ...
- PHP代码审计笔记--文件包含漏洞
有限制的本地文件包含: <?php include($_GET['file'].".php"); ?> %00截断: ?file=C://Windows//win.in ...
- mybatis 之 parameterType="list"
<!-- 根据货品编号查找货品图片地址,货品ID,商品ID,货品名称 --> <select id="getGoodsInfoByGoodsNo" paramet ...
- html中属于布尔类型的属性
1.noshade,用来表示有无阴影,多用于在<hr />标签当中 2.ckecked,用来表示是否默认选中,多用于单选按钮<input type="radio" ...
- Java并发编程--BlockingQueue
概述 BlockingQueue支持两个附加操作的Queue:1)当Queue为空时,获取元素线程被阻塞直到Queue变为非空:2)当Queue满时,添加元素线程被阻塞直到Queue不满.Blocki ...
- 获取访客IP、地区位置信息、浏览器、来源页面
<?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function getIp() { $ip=false; if ...
- 基于VLAN的二三层转发
[章节内容]1 MAC地址2 冲突域和广播域3 集线器.交换机.路由器 3.1 集线器 3.2 网桥和交换机 3.3 路由器4 VLAN 4.1 VLAN帧格式 4.1.1 ...
- Mysql错误:Duplicate entry '127' for key 'PRIMARY'的解决方法
有时候真是挺幸运,正当我自以为是地认为掌握了某个知识点的时候,现实就会马上出现另外一个问题,让我知道之前的认知是不全面的. 正如我上篇博文中所述,如果一个自增字段达到了上限,而且继续向里面插入数据的话 ...