<%@ 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加载数据和分页的更多相关文章

  1. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  2. Easyui datagrid加载数据时默认全选的问题

    问题描述: 最近使用 Easyui datagrid 展示数据,之前一直使用很正常,今天出现了一个怪异问题 加载数据后,只要点击选中列 ck 的任意行或多行,再刷新时整个datagrid的所有数据都 ...

  3. easyui datagrid加载数据的三种方式

    1.加载本地数据 var obj = {"total":2,"rows":[{id:"1",name:"一"},{id: ...

  4. easyui datagrid加载数据的两种方式

    1.加载本地数据 var obj = {"total":2,"rows":[{id:"1",name:"一"},{id: ...

  5. jquery easyui使用(三)······datagrid加载数据(已解决)

    <div id="table_Data"> </div> $("#table_Data").datagrid({ toolbar: '# ...

  6. easyui datagrid 加载静态文件中的json数据

    本文主要介绍easyui datagrid 怎么加载静态文件里的json数据,开发环境vs2012, 一.json文件所处的位置 二.json文件内容 {"total":28,&q ...

  7. easyui datagrid加载成功之后选定并获取首行数据

    //加载成功之后,选定并获取首行数据 onLoadSuccess:function(data){ alert("grid加载成功"); var rows=$('test').dat ...

  8. easyui datagrid 加载两次请求,触发两次ajax 请求 问题

    datagrid初始化的时候请求两次URL 两种情况 1. <table id="gridview" class="easyui-datagrid"> ...

  9. easyui datagrid 加载 历险记(dom中已经加载,fit:true 时改变浏览器大小是会显示出来)

    (dom中已经加载,fit:true 时改变浏览器大小是会显示出来) 第一个想到的就是resize datagird  大小!可是没有用 ... 答案是加载的的div height为0导至的(//To ...

随机推荐

  1. 【GIS】GDAL Python 影像裁剪

    # -*- coding: utf-8 -*- """ Created on Fri Nov 30 11:45:03 2018 @author: Administrato ...

  2. ZooKeeper 未授权访问漏洞

    ZooKeeper 安装: Zookeeper的默认开放端口是2181 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zooke ...

  3. SharePoint如何模拟用户

    try { SPSecurity.RunWithElevatedPrivileges(delegate() //用此方法模拟管理员账户运行此事件处理程序 { SPWeb web = SPContext ...

  4. S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

    S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...

  5. tp3.2 ajax 表单提交

    前台: 1 <form action="javascript:;" method="post" class="form_div" id ...

  6. 【IE兼容问题】记一次Manifest因为jquery版本不同导致的兼容问题解决方案X-UA-Compatible

    最近在调试一个jquery插件Manifest 测试过程中发现IE一直不能完全展示这个插件,只显示了一个textbox文本框 IE下的bug的效果图 其他浏览器正常的效果图 跟踪原因,IE下jquer ...

  7. 【技术分享会】 iOS开发简述

    前言 Objective-C(简称OC)也是面向对象的编程语言,运用的许多面向对象的编程思想和C# . Java .C++等变成语言都是相通的: 本次技术讲座主要讲一些设计模式.设计思想等计算机语言通 ...

  8. python基础---->python的使用(四)

    这里记录一下python关于网络的一些基础知识.不知为何,恰如其分的话总是姗姗来迟,错过最恰当的时机. python中的网络编程 一.socket模板创建一个 TCP 服务器 import socke ...

  9. Android单例模式

    Android设计模式系列(3)--SDK源码之单例模式:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/07/2130306.html ...

  10. Android Studio 第一次启动配置

    第一次启动AS前,为了避免重新下载新版本的SDK 操作如下: AS启动前,请先将bin目录的idea.properties文件中增加一行:disable.android.first.run=true ...