easyui datagrid加载数据和分页
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String basepath = request.getContextPath();
%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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="<%=basepath%>/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
href="<%=basepath%>/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css"
href="<%=basepath%>/easyui/demo.css">
<script type="text/javascript" src="<%=basepath%>/easyui/jquery.min.js"></script>
<script type="text/javascript"
src="<%=basepath%>/easyui/jquery.easyui.min.js"></script>
</head>
<body>
<br>
<h2>Client Side Pagination in DataGrid</h2>
<p>This sample shows how to implement client side pagination in
DataGrid.</p>
<div style="margin: 20px 0;"></div>
<table id="dg" title="Client Side Pagination"
style="width: 700px; height: 300px"
data-options="
rownumbers:true,
singleSelect:true,
autoRowHeight:false,
pagination:true,
pageSize:10">
<thead>
<tr>
<th field="id" width="30%">id</th>
<th field="userName" width="30%">userName</th>
<th field="age" width="30%">age</th>
</tr>
</thead>
</table>
<script>
(function($) {
function pagerFilter(data) {
if ($.isArray(data)) { // is array
data = {
total : data.length,
rows : data
}
}
var dg = $(this);
var state = dg.data('datagrid');
var opts = dg.datagrid('options');
if (!state.allRows) {
state.allRows = (data.rows);
}
var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);
var end = start + parseInt(opts.pageSize);
data.rows = $.extend(true, [], state.allRows.slice(start, end));
return data;
}
var loadDataMethod = $.fn.datagrid.methods.loadData;
$.extend($.fn.datagrid.methods,
{
clientPaging : function(jq) {
return jq.each(function() {
var dg = $(this);
var state = dg.data('datagrid');
var opts = state.options;
opts.loadFilter = pagerFilter;
var onBeforeLoad = opts.onBeforeLoad;
opts.onBeforeLoad = function(param) {
state.allRows = null;
return onBeforeLoad.call(this, param);
}
dg.datagrid('getPager').pagination({
onSelectPage : function(pageNum, pageSize) {
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
$(this).pagination('refresh', {
pageNumber : pageNum,
pageSize : pageSize
});
dg.datagrid('loadData', state.allRows);
}
});
$(this).datagrid('loadData', state.data);
if (opts.url) {
$(this).datagrid('reload');
}
});
},
loadData : function(jq, data) {
jq.each(function() {
$(this).data('datagrid').allRows = null;
});
return loadDataMethod.call($.fn.datagrid.methods,
jq, data);
},
getAllRows : function(jq) {
return jq.data('datagrid').allRows;
}
})
})(jQuery);
function getData() {
var rows = "";
/* for (var i = 1; i <= 800; i++) {
var amount = Math.floor(Math.random() * 1000);
var price = Math.floor(Math.random() * 1000);
rows.push({
inv : 'Inv No ' + i,
date : $.fn.datebox.defaults.formatter(new Date()),
name : 'Name ' + i,
amount : amount,
price : price,
cost : amount * price,
note : 'Note ' + i
});
} */
$.ajax({
method : 'POST',
url : '/egoTest/user/getAjaxUser2.do',
async : false,
dataType : 'json',
success : function(data) {
rows = data;
},
error : function() {
alert('error');
}
});
return rows;
}
$(function() {
$('#dg').datagrid({
data : getData()
}).datagrid('clientPaging');
});
</script>
<br><br><br><br><br>
a index jsp page ! ${list}
<br>
<table border="1" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th width="100"><input type="checkBox" name="checkBox" /></th>
<th field="userId" width="100">用户ID</th>
<th field="userName" width="100">名称</th>
<th field="bigDepartId" width="100">年龄</th>
<th field="operation" width="100">操作</th>
</tr>
</thead>
<c:forEach items="${uList }" var="u">
<tr class="${status.index%2==1?'even':'odd' }">
<td><input type="checkBox" name="checkBox" /></td>
<td>${u.id}</td>
<td>${u.userName }</td>
<td>${u.age }</td>
<td><a href="/springMVC11/user/getUser.do?id=${u.id }">修改</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
@RequestMapping("/getAjaxUser2")
public void getAjaxUser2(HttpServletRequest request,
HttpServletResponse response, ModelMap modelMap) {
try {
response.setContentType( "text/html;charset=UTF-8");
List<User> uList = userService.getAllUser();
Map<String, Object> map = new HashMap<String, Object>();
// map.put( "total",total);
map.put("allRows", 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();
}
}
easyui datagrid加载数据和分页的更多相关文章
- 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中
背景: 昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...
- Easyui datagrid加载数据时默认全选的问题
问题描述: 最近使用 Easyui datagrid 展示数据,之前一直使用很正常,今天出现了一个怪异问题 加载数据后,只要点击选中列 ck 的任意行或多行,再刷新时整个datagrid的所有数据都 ...
- easyui datagrid加载数据的三种方式
1.加载本地数据 var obj = {"total":2,"rows":[{id:"1",name:"一"},{id: ...
- easyui datagrid加载数据的两种方式
1.加载本地数据 var obj = {"total":2,"rows":[{id:"1",name:"一"},{id: ...
- jquery easyui使用(三)······datagrid加载数据(已解决)
<div id="table_Data"> </div> $("#table_Data").datagrid({ toolbar: '# ...
- easyui datagrid 加载静态文件中的json数据
本文主要介绍easyui datagrid 怎么加载静态文件里的json数据,开发环境vs2012, 一.json文件所处的位置 二.json文件内容 {"total":28,&q ...
- easyui datagrid加载成功之后选定并获取首行数据
//加载成功之后,选定并获取首行数据 onLoadSuccess:function(data){ alert("grid加载成功"); var rows=$('test').dat ...
- easyui datagrid 加载两次请求,触发两次ajax 请求 问题
datagrid初始化的时候请求两次URL 两种情况 1. <table id="gridview" class="easyui-datagrid"> ...
- easyui datagrid 加载 历险记(dom中已经加载,fit:true 时改变浏览器大小是会显示出来)
(dom中已经加载,fit:true 时改变浏览器大小是会显示出来) 第一个想到的就是resize datagird 大小!可是没有用 ... 答案是加载的的div height为0导至的(//To ...
随机推荐
- easyui datagrid 单元格编辑(cell editing)
demo中有row editing 项目中发现个cell editing,但是有bug,修改好了 主要实现功能:单击数据表格单元格,编辑单元格数据 js代码如下: $.extend($.fn.data ...
- Java -- IO -- 目录
操作文件的类 -- -- File File类的基本介绍 使用File类操作文件 范例 -- -- 列出指定目录的全部内容 RandomAccessFile类 使用RandomAccessFile类写 ...
- 7 -- Spring的基本用法 -- 10... 获取其他Bean的属性值;获取Field值;获取任意方法的返回值
7.10 高级依赖关系配置 组件与组件之间的耦合,采用依赖注入管理:但基本类型的成员变量值,应直接在代码中设置. Spring支持将任意方法的返回值.类或对象的Field值.其他Bean的getter ...
- cocos2dx 3.0 scrollview 在android下面背景變綠色了
在windows上面跑的是OK的, 在android下面跑的時候就變成這樣子了:
- iptables相关操作以及简单理解端口和服务之间关系
一般CentOS7默认安装的是firewall不是iptables 1.查看firewall状态 firewall-cmd --state 关闭后显示not running,开启后显示running ...
- Greenplum-cc-web安装
第一章 文档概述 1. 本安装手册描述适用于Greenplum4.0以上版本的安装Greenplum-cc-web操作 第二章 安装介质 针对Greenplum版本下载对应Greenplum-cc-w ...
- Bypass D盾_IIS防火墙SQL注入防御(多姿势)
0X01 前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况.D盾_IIS防火墙注入防御策略 ...
- 使用Html和ashx文件实现其简单的注册页面
记得上一次博客中实现的是其登录页面,其实学会了登录页面,注册页面自然就知道怎么写啦,都是一个意思的,但是今天不知道怎么个情况,写一个注册页面程序 中 一直在出错,大的问题小的问题一直出错,似乎是不在状 ...
- 《转载》Python3安装Scrapy
运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载自:http://blog.csdn.net/c406495762/article/detail ...
- 关于Android开发中使用的XML
1.布局 FrameLayout: 以堆叠方式显示一个或多个子视图. GridLayout: 将子视图按行和列排列. LinearLayout: 将所有子视图排列成一行或一列. RelativeLay ...