`

jQuery中jqGrid分页实现

阅读更多

      今天看到javaeye上有人使用了jqGrid实现了数据的分页,参考它的代码,实现了这个功能,搬出来晒晒,作为自己以后学习的资料!

(1)页面代码:

<!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" media="screen"
	href="js/themes/basic/grid.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.jqGrid.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
	jQuery("#myTab").jqGrid({
		datatype: "json", //将这里改为使用JSON数据
		url:'DataServlet', //这是Action的请求地址
		mtype: 'POST',
		height: 250,
		width: 400,
	   	colNames:['编号','姓名', '电话'],
	   	colModel:[
	   		{name:'id',index:'id', width:60, sorttype:"int"},
	   		{name:'name',index:'name', width:90},
	   		{name:'phone',index:'phone', width:100}		
	   	],
	   	pager: 'pager', //分页工具栏
	   	imgpath: 'js/themes/basic/images', //图片存放路径
	   	rowNum:10, //每页显示记录数
	   	viewrecords: true, //是否显示行数
	   	rowList:[10,20,30], //可调整每页显示的记录数
	   	multiselect: false, //是否支持多选
	   	caption: "信息显示"
	});
});
</script>
</head>
<body>
<table id="myTab" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="pager" class="scroll"></div>
</body>
</html>

 (2)后台的servlet,里面的数据是模拟的

/**
 * Servlet implementation class DataServlet
 */
public class DataServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String page = request.getParameter("page"); // 取得当前页数,注意这是jqgrid自身的参数
		String rows = request.getParameter("rows"); // 取得每页显示行数,,注意这是jqgrid自身的参数
		int totalRecord = 80; // 总记录数(应根据数据库取得,在此只是模拟)
		int totalPage = totalRecord % Integer.parseInt(rows) == 0 ? totalRecord
				/ Integer.parseInt(rows) : totalRecord / Integer.parseInt(rows)
				+ 1; // 计算总页数
		try {
			int index = (Integer.parseInt(page) - 1) * Integer.parseInt(rows); // 开始记录数
			int pageSize = Integer.parseInt(rows);
			// 以下模拟构造JSON数据对象
			String json = "{total: " + totalPage + ", page: " + page
					+ ", records: " + totalRecord + ", rows: [";
			for (int i = index; i < pageSize + index && i < totalRecord; i++) {
				json += "{cell:['ID " + i + "','NAME " + i + "','PHONE " + i
						+ "']}";
				if (i != pageSize + index - 1 && i != totalRecord - 1) {
					json += ",";
				}
			}
			json += "]}";
			response.getWriter().write(json); // 将JSON数据返回页面
		} catch (Exception ex) {
		}
	}
}

 

目录结构:



 展现的效果:



 http://blog.csdn.net/polaris1119/archive/2010/01/04/5130974.aspx

http://d.download.csdn.net/down/1142295/ctfzh

http://hi.baidu.com/fangle_life/blog/item/1076b6fa85a9ba1c6d22eb1e.html

http://blog.csdn.net/polaris1119/archive/2010/01/12/5183327.aspx

 

  • 大小: 23.8 KB
  • 大小: 46.3 KB
分享到:
评论
5 楼 赵武艺 2012-11-26  
麻烦可以给一下项目的源码吗?wuyixiwen@sina.com谢谢!
4 楼 learnJ2ME 2012-06-06  
一开始我也遇到JSON数据显示不出来
之后我才顺序改为如下
url:'DataServlet', //这是Action的请求地址  
datatype: "json", //将这里改为使用JSON数据  
再因需要,我添加
   shrinkToFit: true,
                jsonReader: {
                    repeatitems: false
                },
3 楼 carry_tang1978 2012-05-11  
我们项目已经把jqgrid封装成标签,搜索、排序、分页都已经封装好,使用很简单
<common:DataGrid rowNum="50" rowList="20,50,200" columnMove="true"
pkColumn="dictId" autoSize="true" id="mytable"
action='/sysmgr/dict/queryDictList_Dictmgr.action' autoload="true">
<common:Column property="dictId" title="字段id" pk="1" sortable="false"
hidden="true"></common:Column>
<common:Column property="dictIndex" title="序号" dbFieldName="DICT_INDEX" width="60"
    sortable="true"></common:Column>
<common:Column property="dictCode" title="字段编码" dbFieldName="DICT_CODE" width="120"
sortable="true"></common:Column>
<common:Column property="dictName" title="字段名称" dbFieldName="DICT_NAME" width="120"
sortable="true"></common:Column>

</common:DataGrid>
不需要写脚本,使用很方便
2 楼 yy159632 2012-03-08  
怎么我的JSON数据还是显示不出来啊,都跟LZ的一模一样了,就URL不同了,后台返回的JSON格式,和前台jqGrid代码都是copy的
1 楼 christy_fang 2011-05-05  
太棒了!非常感谢LZ啊!

相关推荐

    jQuery中jqGrid分页实现代码

    以下是对标题和描述中提到的jqGrid分页实现的详细说明。 首先,我们来看一下前端部分的HTML和JavaScript代码。在HTML部分,你需要引入jqGrid所需的CSS和JavaScript文件,包括jQuery库、jqGrid主文件和主题样式。在`...

    jquery.jqgrid最新版

    jqGrid是基于jQuery库的表格插件,它提供了一套完整的解决方案,包括数据的加载、排序、筛选、分页、编辑以及格式化等。jqGrid支持多种数据源,如JSON、XML、HTML、CSV等,能够无缝集成到各种Web项目中。其核心功能...

    jquery.jqGrid-4.4.5

    而 "js" 目录下的核心库文件,如 "jquery.jqGrid.min.js",则是实现 jqGrid 功能的基础,开发者可以直接引入到项目中使用。 总的来说,jQuery.jqGrid 4.4.5 是一款功能强大、易于定制的前端表格组件,无论是在数据...

    jquery.jqGrid-4.5.2.zip

    jqGrid是基于jQuery的表格插件,提供丰富的功能,如分页、排序、搜索、过滤、编辑、导出等,支持Ajax数据加载,能够处理本地或远程数据源。4.5.2版本是对早期版本的升级,优化了性能,增强了稳定性,并引入了一些新...

    JQGrid 分页

    在这个特定的"JQGrid分页"项目中,我们关注的是如何实现数据的分页功能,这在处理大量数据时尤为重要,因为它能提高网页的加载速度和用户体验。 首先,我们需要理解JQGrid分页的基本概念。在JQGrid中,分页通常分为...

    jquery.jqGrid-4.4.0.zip

    《jQuery.jqGrid 4.4.0:构建动态数据表格的强大工具》 jQuery.jqGrid 是一个基于 jQuery 的开源JavaScript库,专为创建交互式、功能丰富的数据网格而设计。在版本4.4.0中,jqGrid 提供了丰富的特性和优化,使得在...

    jquery.jqGrid-4.4.3

    《jQuery.jqGrid-4.4.3:Web页面列表分页显示的高效解决方案》 在Web开发领域,数据展示是不可或缺的一部分,特别是在处理大量数据时,如何有效地进行分页显示,提高用户体验,成为了开发者关注的重点。jQuery....

    jquery.jqGrid-4.5.4

    1. **数据加载与分页**:jqGrid 支持服务器端和客户端两种分页方式,可以根据数据量选择合适的方法,有效提高页面性能。 2. **数据筛选**:用户可以通过内置的筛选工具对表格数据进行快速过滤,找到所需信息。 3. ...

    使用jquery实现表格动态分页

    本教程将详细讲解如何使用jQuery库来实现表格的动态分页,同时结合Java后端进行数据的动态查询和分页处理。 首先,让我们了解动态分页的基本原理。动态分页是指在用户滚动或点击分页按钮时,仅加载当前显示的数据,...

    jquery.jqGrid-4.3.1+jquery-ui-1.8.17.rar

    例如,要实现自定义的分页逻辑,开发者可能需要监听jqGrid的"loadComplete"事件,并结合jQuery UI的对话框展示分页信息。另外,对于性能优化,了解如何正确配置jqGrid的缓存策略和异步加载机制至关重要。 总的来说...

    jqgrid分页参数

    其中,`jqGrid`是一款非常受欢迎的jQuery插件,它能够帮助开发者快速地在网页上实现表格数据的展示,并提供了丰富的功能,如排序、搜索、分页等。本文将重点介绍`jqGrid`中的分页参数及其具体用法。 #### 二、...

    jqgrid加载本地数据并且分页例子

    在这个"jqgrid加载本地数据并且分页例子"中,我们将深入探讨如何利用jqGrid实现从本地数据源加载数据并进行分页显示。 首先,要理解jqGrid的工作原理。它基于jQuery库,通过HTML表格元素来渲染数据,并通过AJAX从...

    jquery.jqGrid-4.4.4.zip

    在版本 4.4.4 中,jqGrid 提供了强大的数据管理功能,使得网页开发人员能够轻松地实现复杂的数据展示和操作。这个压缩包“jquery.jqGrid-4.4.4.zip”包含了jqGrid的核心组件和必要的资源文件,包括CSS样式表、插件、...

    jquery.jqGrid-4.3.2.zip

    6. **国际化**:jqGrid支持多语言,可以轻松实现应用的国际化。 接下来,我们看看jqGrid 4.3.2的文件结构: - **css**:这个目录包含所有与jqGrid样式相关的CSS文件,例如`ui.jqgrid.css`是基本的样式表,用于定义...

    jqGrid 做的表格分页

    &lt;script type="text/javascript" src="js/jquery.jqGrid.min.js"&gt; &lt;script type="text/javascript" src="js/jquery.tablednd.js"&gt; &lt;script type="text/javascript" src="js/jquery.contextmenu.js"&gt; ...

    jquery.jqGrid-4.6.0

    jQuery.jqGrid是一个非常流行的JavaScript库,用于在Web应用程序中创建功能丰富的表格。这个压缩包“jquery.jqGrid-4.6.0”包含了该库的4.6.0版本,这是一个被广泛使用的稳定版本,提供了强大的数据网格功能,包括...

Global site tag (gtag.js) - Google Analytics