`

Jqgrid入门-显示基本的表格(一) - 鸿娃

阅读更多
原帖地址:http://www.cnblogs.com/hongzai/p/3158052.html

 首先对Jqgrid网格插件做个简要的说明。在众多的表格插件中,Jqgrid的特点是非常鲜明的。

        特点如下:
  • 完整的表格呈现与运算功能,包含换页、栏位排序、grouping、新增、修改及删除资料等功能
  • 自定义的工具列。
  • 预设的Navigator工具列,可以很容易的使用新增、删除、编辑、检视及搜寻等功能。
  • 完整的分页功能。
  • 按下任一栏位的标头,皆可以该栏位为排序项目。无论是升序或降序皆可。
  • 预设的action formatter可以快速而直觉地对每笔资料做运算
  • 支持多种数据格式。比如json、xml、array等。

       这是我自己做的DEMO, 先上个图片,当大家看看吧。

clipboard
  
 
 
 
 
 
 
 
 
         其实要实现上面图中的效果也不难。跟着我的步骤一步一步实现它吧!
        (1)HTML部分        
        想要顺利的使用Jqgrid,需要引用下面6个文件。分别是:
  • jquery-ui-1.8.1.custom.css(jQuery UI界面的CSS文件)
  • ui.jqgrid.custom.css(专用于jqGrid界面的CSS文件)
  • jquery-1.7.2.js(jQuery的核心)
  • jquery-ui-1.8.1.custom.min.js(用于支持jQuery UI界面)
  • grid.locale-zh-CN.js(针对jqGrid的locale设置,根据locale不同,选择不同的尾缀)
  • jquery.jqGrid.min.js(jqGrid的核心,可以到jqGrid网站,根据需求选择模块下载)
        然后在html的body里面创建一个table和div并赋予id属性就行了。如图,非常简洁。
1
2
3
4
5
6
<link href="<%=basePath%>main/css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<link href="<%=basePath%>main/css/jquery-ui-1.8.1.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=basePath%>main/js/jquery-1.7.2.js"></script>
<script type="text/javascript" src="<%=basePath%>main/js/grid.locale-zh_CN.js"></script>
<script type="text/javascript" src="<%=basePath%>main/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="<%=basePath%>main/js/grid.custom.js"></script>
        (2)JS部分
        官方文档说实现一个要想生成一个 Jqgrid ,最直接的方法就是:
        $(“#grid_id”).jqGrid(options);也就是得到一个table的jquery对象,然后传递options就可以得到一个Jqgrid对象。
        简单的介绍下options中最重要的部分。
 
        1. jqGrid的重要选项

具体的options参考,可以访问Jqgrid文档关于option的章节(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options)。其中有几个是比较常用的,重点介绍一下:

  • url:提交处理数据的地址。
  • datatype:这个参数用于设定将要得到的数据类型。我最常用的是“json”,其余的类型还包括:xml、xmlstring、local、javascript、function。
  • mtype: 定义使用哪种方法发起请求,GET或者POST。
  • height:Grid的高度,可以接受数字、%值、auto,默认值为150。
  • width:Grid的宽度,如果未设置,则宽度应为所有列宽的之和;如果设置了宽度,则每列的宽度将会根据shrinkToFit选项的设置,进行设置。
  • shrinkToFit:此选项用于根据width计算每列宽度的算法。默认值为true。如果shrinkToFit为true且设置了width值,则每列宽度会根据width成比例缩放;如果shrinkToFit为false且设置了width值,则每列的宽度不会成比例缩放,而是保持原有设置,而Grid将会有水平滚动条。
  • autowidth:默认值为false。如果设为true,则Grid的宽度会根据父容器的宽度自动重算。重算仅发生在Grid初始化的阶段;如果当父容器尺寸变化了,同时也需要变化Grid的尺寸的话,则需要在自己的代码中调用setGridWidth方法来完成。
  • pager:定义页码控制条PageBar
  • sortname:指定默认的排序列,可以是列名也可以是数字。此参数会在被传递到服务端。
  • viewrecords:设置是否在PagerBar显示所有记录的总数。
  • caption:Grid的标题。如果设置了,则将显示在Grid的Header层 ;如果未设置,则标题区域不显示 。
  • rowNum:用于设置Grid中一次显示的行数,默认值为20。
  • rowList:一个数组,用于设置Grid可以接受的rowNum值。例如[10,20,30]。
  • prmNames:这是一个数组,用于设置jqGrid将要向服务端传递的参数名称。我们一般不用去改变什么。
  • colModel:最重要的数组之一,用于设定各列的参数。(稍后详述)
  • jsonReader:这又是一个数组,用来设定如何解析从Server端发回来的json数据。(稍后详述)
        2. colModel的重要选项
 
        和Jqgrid一样colModel也有许多非常重要的选项,在使用搜索、排序等方面都会用到。这里先只说说最基本的。
  • name:为Grid中的每个列设置唯一的名称,这是一个必需选项,其中保留字包括subgrid、cb、rn。
  • index:设置排序时所使用的索引名称,这个index名称会作为sidx参数传递到服务端。
  • label:表格显示的列名。
  • width:设置列的宽度,目前只能接受以px为单位的数值,默认为150。
  • sortable:设置该列是否可以排序,默认为true。
  • search:设置该列是否可以被列为搜索条件,默认为true。
  • resizable:设置列是否可以变更尺寸,默认为true。
  • hidden:设置此列初始化时是否为隐藏状态,默认为false。
  • formatter:预设类型或用来格式化该列的自定义函数名。常用预设格式有:integer、date、currency、number等(具体参见文档)。
       3. jsonReader选项
 
        jsonReader是Jqgrid的一个重要选项,用于设置如何解析从服务端发回来的json数据。其默认值为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
jsonReader : {
root : "rows", // 实际模型的人口
page : "page", // 当前页码
total : total, // 当前共多少页
records : "records", // 总共多少行数据
repeatitems : true,
cell : "cell",
id : "id",
userdata : "userdata", // 数据
subgrid : {
root : "rows",
repeatitems : true,
cell : "cell"
}
}
       我们可以这样理解,prmNames设置了如何将Grid所需要的参数传给服务端,而jsonReader设置了如何去解析从服务端传回来的json数据。如果没有设置jsonReader的话,Jqgrid将会根据默认的设置来解析json数据,并显示在表格里。一般情况下,我们修改jsonReader的root为服务端传递过来的数组就可以满足要求了。比如:
1
2
3
4
5
6
jsonReader : {
root : "dataList", // 服务端保存数据的集合
records : "record", // 可以不要,因为我的服务端是record,不是默认的,才加上的
repeatitems : false
// 其它的全部默认就行
}

由此,Jqgrid完成一个request,并将得到的response,解析为所需的数据,显示到Grid表格中。整个流程就走完了。

原创文章,转载请注明: 转载自java开发者

本文链接地址: Jqgrid入门-显示基本的表格(一)


本文链接:http://www.cnblogs.com/hongzai/p/3158052.html,转载请注明。

分享到:
评论

相关推荐

    jqGrid插件--JQuery表格插件

    jqGrid是一款基于jQuery的开源表格插件,专为数据管理和展示设计,提供了丰富的功能和高度的自定义性。它在Web开发中广泛应用于构建高效、交互式的数据网格。以下是关于jqGrid的一些关键知识点: 1. **基本使用**:...

    jquery.jqGrid-4.4.3

    总结来说,jQuery.jqGrid-4.4.3是一个功能强大、易用的Web表格组件,它为Web开发者提供了一套完整的解决方案,用于构建交互性强、性能优异的列表展示页面。无论是新手还是经验丰富的开发者,都能从中受益,提升项目...

    Jqgrid demo-史上最强大,没有之一

    Jqgrid demo-史上最强大,没有之一, 为了大家能够更好的学习和使用Jqgrid网格插件,我决定用Strtus2+Spring+hibernate+Jquery+Jqgrid实现一个Jqgrid网格插件的demo。当然官方网站上面已经有了PHP版本和ASP.NET版本...

    jqGrid4.8.2 jqgrid_demo40

    jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...

    jquery.jqGrid-4.5.2.zip

    这个资源文件"jquery.jqGrid-4.5.2.zip"包含了所有必要的组件,让我们深入探讨其核心特性与应用。 一、jqGrid简介 jqGrid是基于jQuery的表格插件,提供丰富的功能,如分页、排序、搜索、过滤、编辑、导出等,支持...

    jquery.jqGrid-3.8.2.zip

    jquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zipjquery.jqGrid-3.8.2.zip

    jqGrid-5.1.0表格插件.rar

    总的来说,jqGrid-5.1.0是一款功能全面、易于使用的表格插件,为Web开发人员提供了强大的工具来构建功能丰富的数据网格,同时保持良好的性能和用户体验。无论是在企业级应用还是个人项目中,它都是展示和操作数据的...

    jqgrid jquery-ui-1.8.17.custom.css

    jqgrid jquey 样式 让表格变得更漂亮

    jquery.jqGrid-4.5.4

    《jQuery.jqGrid-4.5.4:强大的表格数据管理插件》 jQuery.jqGrid 是一个基于 jQuery 的开源网格插件,主要用于在网页上展示和管理大量结构化的数据。版本4.5.4是这个插件的一个稳定版本,虽然在官网上可能无法找到...

    jquery.jqGrid-3.5-beta

    《jQuery.jqGrid-3.5-beta:一个强大的数据管理框架》 在Web开发领域,高效的数据管理和展示是至关重要的。jQuery.jqGrid是这样一个工具,它为开发者提供了强大而灵活的数据网格解决方案。这个名为"jquery.jqGrid-...

    jqGrid-3.5.alfa-2

    这个"jqGrid-3.5.alfa-2"版本是截至2009年4月2日的最新版本,对于那些无法访问官方网站获取更新的用户来说,这是一个宝贵的资源。 jqGrid 的核心功能包括数据展示、编辑、搜索、排序、分页以及自定义操作。它支持...

    jqgrid方法-中文 (2).docx

    总的来说,jqGrid 提供了一套全面的方法来管理表格的各个方面,包括数据的增删改查、显示配置以及用户交互。这些方法使得 jqGrid 成为了构建复杂数据展示和管理界面的强大工具。在实际开发中,结合 jQuery UI 和其他...

    jqGrid-master

    这个"jqGrid-master"压缩包是该库的最新版本,从官方英文站点下载,为用户提供了便捷的获取途径。jqGrid主要用于展示和操作数据,尤其适合那些需要处理大量结构化数据的应用场景。它支持多种功能,如数据的分页、...

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

    本文将围绕"jquery.jqGrid-4.3.1+jquery-ui-1.8.17.rar"这一压缩包中的两个主要组件进行深入探讨。 首先,jQuery.jqGrid 4.3.1是一个功能强大的表格展示和管理工具,适用于创建交互式的数据网格。这个版本提供了...

    jqgrid实现分组显示和统计

    jqGrid是一款功能强大的JavaScript表格插件,用于在Web页面中展示和操作数据。它支持多种功能,包括数据分页、排序、搜索、编辑等。在本教程中,我们将深入探讨如何利用jqGrid实现数据的分组显示和统计,这对于数据...

    Jquery表格插件jqGrid 4.3.0及其Demo

    解压`jquery.jqGrid-4.3.0.zip`文件后,将相应的资源文件添加到HTML页面中,然后通过JavaScript代码初始化表格。 **3. 示例与Demo** `jqgrid_demo40.zip`包含了jqGrid 4.3.0的示例代码,可以帮助开发者快速了解和...

    jquery.jqGrid-4.3.3

    jqGrid 是一个用来显示网格数据的jQuery插件,文档比较全面,附带中文版本。 主要特点: -Full control with JavaScript API -Data returned from the server is XML -Simple configuration -Ability to load big ...

    table表格样式利用jqgrid实现

    在网页开发中,表格(Table)是展示数据的重要方式,而jqGrid是一个强大的JavaScript库,专门用于创建交互式、功能丰富的表格。本教程将深入探讨如何利用jqGrid来实现美观且功能丰富的表格样式。 首先,我们需要...

    jQuery tonytomov-jqGrid-v4.5.2 插件

    总的来说,jQuery tonytomov-jqGrid-v4.5.2 是一个强大而灵活的表格插件,适用于需要展示大量结构化数据的Web应用。通过深入理解和有效利用其功能,开发者可以创建出高效、美观且功能丰富的数据管理界面。

Global site tag (gtag.js) - Google Analytics