最近刚刚从ExtJS转到JQuery,对于我这个大多数时间都写后台的人始终不是件太简单的事。不过看了几本JQuery的书,上网Google了一大堆插件,真是觉得当初悔不该选ExtJS这个死板的东东下手学习。
客户要一个类似ExtJS Grid的列表,自己写吧闲麻烦,找了个jqGrid的插件看了下,发现这东西确实不错,ExtJS Grid有的功能它基本上都有了,有些甚至还超出了我的预想。就是不知道实际应用起来如何,稳不稳定,暂且再当一次小白鼠吧。
http://www.trirand.com/blog/?page_id=6
,先去官网上下下来,解压后把js和css目录下的文件拷到工程目录,另外该插件还需要JQuery UI,将JQuery,JQuery UI一并拷到目录下:
以下是各文件内容
index.html
-
<!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
=
"css/ui-smoothness/jquery-ui-1.7.2.custom.css"
/>
-
<
link
rel
=
"stylesheet"
type
=
"text/css"
media
=
"screen"
href
=
"css/ui.jqgrid.css"
/>
-
<
scrip
src
=
"js/jquery-1.3.2.min.js"
type
=
"text/javascrip"
>
</
scrip
>
-
<
scrip
src
=
"js/jquery-ui-1.7.2.min.js"
type
=
"text/javascrip"
>
</
scrip
>
-
<
scrip
src
=
"js/plugin/jqGrid/i18n/grid.locale-en.js"
type
=
"text/javascrip"
>
</
scrip
>
-
<
scrip
src
=
"js/plugin/jqGrid/jquery.jqGrid.min.js"
type
=
"text/javascrip"
>
</
scrip
>
-
<
scrip
src
=
"js/index.js"
type
=
"text/javascrip"
>
</
scrip
>
-
<
style
>
-
body {font-size: 12px;}
-
</
style
>
-
</
head
>
-
<
body
>
-
<
div
id
=
"content"
>
-
<
table
id
=
"colch"
>
</
table
>
-
<
div
id
=
"pcolch"
>
</
div
>
-
<
div
id
=
"filter"
style
=
"margin-left:30%;display:none"
>
Search Invoices
</
div
>
-
</
div
>
-
</
body
>
-
</
html
>
index.js
-
$(document).ready(
function
() {
-
var
$mygrid = $(
"#colch"
).jqGrid( {
-
url : 'table.xml'
,
-
datatype : "xml"
,
-
autowidth : true
,
-
viewrecords : true
,
-
sortable : true
,
-
rowNum : 10,
-
height : '100%'
,
-
pager : '#pcolch'
,
-
sortname : 'invdate'
,
-
sortorder : "desc"
,
-
ExpandColumn : 'note'
,
-
caption : "Column Chooser Example"
,
-
rowList : [ 10, 20, 30 ],
-
colNames : [ 'Inv No'
,
'Date'
,
'Client'
,
'Amount'
,
'Tax'
,
'Total'
,
'Notes'
],
-
colModel : [ {
-
name : 'id'
,
-
index : 'id'
,
-
editable : true
,
-
editoptions : {
-
readonly : true
,
-
size : 10
-
},
-
width : 55
-
}, {
-
name : 'invdate'
,
-
index : 'invdate'
,
-
editable : true
,
-
searchoptions : {
-
dataInit : function
(el) {
-
$(el).datepicker( {
-
dateFormat : 'yy-mm-dd'
-
});
-
}
-
},
-
width : 90
-
}, {
-
name : 'name'
,
-
index : 'name asc, invdate'
,
-
editable : true
,
-
width : 100
-
}, {
-
name : 'amount'
,
-
index : 'amount'
,
-
editable : true
,
-
width : 80
-
}, {
-
name : 'tax'
,
-
index : 'tax'
,
-
editable : true
,
-
width : 80
-
}, {
-
name : 'total'
,
-
index : 'total'
,
-
editable : true
,
-
width : 80
-
}, {
-
name : 'note'
,
-
index : 'note'
,
-
editable : true
,
-
sortable : false
-
} ]
-
});
-
-
$mygrid.jqGrid('navGrid'
,
'#pcolch'
, {
-
view : true
,
-
search : false
-
}, {
-
-
height : 290,
-
reloadAfterSubmit : false
,
-
jqModal : false
,
-
closeOnEscape : true
,
-
bottominfo : "Fields marked with (*) are required"
-
}, {
-
-
height : 290,
-
reloadAfterSubmit : false
,
-
jqModal : false
,
-
closeOnEscape : true
,
-
bottominfo : "Fields marked with (*) are required"
,
-
closeAfterAdd : true
-
});
-
-
-
$("#colch"
).jqGrid(
'navButtonAdd'
,
"#pcolch"
, {
-
caption : "Toggle"
,
-
title : "Toggle Search Toolbar"
,
-
buttonicon : 'ui-icon-pin-s'
,
-
onClickButton : function
() {
-
$mygrid[0].toggleToolbar();
-
}
-
});
-
-
-
$("#colch"
).jqGrid(
'navButtonAdd'
,
"#pcolch"
, {
-
caption : "Clear"
,
-
title : "Clear Search"
,
-
buttonicon : 'ui-icon-refresh'
,
-
onClickButton : function
() {
-
$mygrid[0].clearToolbar();
-
}
-
});
-
-
-
$("#colch"
).jqGrid(
'navButtonAdd'
,
'#pcolch'
, {
-
caption : "Columns"
,
-
title : "Reorder Columns"
,
-
onClickButton : function
() {
-
jQuery("#colch"
).jqGrid(
'columnChooser'
, {
-
done : function
(perm) {
-
if
(perm) {
-
this
.jqGrid(
"remapColumns"
, perm,
true
);
-
var
gwdth =
this
.jqGrid(
"getGridParam"
,
"width"
);
-
this
.jqGrid(
"setGridWidth"
, gwdth);
-
}
-
}
-
-
});
-
}
-
});
-
-
$("#colch"
).jqGrid(
'filterToolbar'
);
-
});
table.xml
-
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
-
<
rows
>
-
<
page
>
1
</
page
>
-
<
total
>
3
</
total
>
-
<
records
>
56
</
records
>
-
<
row
id
=
'1'
>
-
<
cell
>
1
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'2'
>
-
<
cell
>
2
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'3'
>
-
<
cell
>
3
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'4'
>
-
<
cell
>
4
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'5'
>
-
<
cell
>
5
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'6'
>
-
<
cell
>
6
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'7'
>
-
<
cell
>
7
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'8'
>
-
<
cell
>
8
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'9'
>
-
<
cell
>
9
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
<
row
id
=
'10'
>
-
<
cell
>
10
</
cell
>
-
<
cell
>
2010-01-23
</
cell
>
-
<
cell
>
test
</
cell
>
-
<
cell
>
note
</
cell
>
-
<
cell
>
200.00
</
cell
>
-
<
cell
>
10.00
</
cell
>
-
<
cell
>
210.00
</
cell
>
-
</
row
>
-
</
rows
>
以下是最终效果截图
查看
添加
编辑
搜索
自定义显示列
分享到:
相关推荐
总结来说,jqGrid 与 Struts2 的结合应用提供了高效的数据展示和管理能力。通过理解并熟练运用 jqGrid 的核心方法,开发者可以构建出功能丰富的数据网格,同时结合 Struts2 的灵活性,实现前后端的无缝协作,提高...
在jqGrid与Struts2的结合应用中,我们通常会经历以下几个步骤: 1. **配置Struts2**:首先,需要在项目的`struts.xml`配置文件中添加jqGrid相关的Action,这些Action负责处理来自jqGrid的AJAX请求,获取或更新...
**三、jqGrid与Struts2结合应用** jqGrid与Struts2的结合使用可以实现数据的后台动态加载和前端的交互操作。具体步骤如下: 1. **配置Struts2 Action**:创建一个Action类,负责处理请求并返回数据。例如,可以创建...
在本项目中,jqGrid 与 Struts2 结合,实现了Web应用中的核心功能——增删改查。以下是关键步骤: 1. **配置 Struts2**:首先,需要在项目的 `struts.xml` 配置文件中设置Action类及其对应的URL映射,以及指定使用...
总的来说,jqGrid 与 Struts2 结合使用,可以构建出功能丰富的数据展示和管理界面。理解并熟练掌握 jqGrid 的选项配置和与服务器端的交互机制,对于提升 Web 应用的用户体验和数据管理能力至关重要。
将jqGrid与Struts2结合,可以创建高效的前端数据展示和交互界面,同时利用Struts2的强大后端处理能力。 在这个"jqGrid与Struts2的结合例子"中,我们将探讨如何将这两者集成,以实现动态加载、数据过滤、编辑和保存...
Struts2JQGrid是一个基于Java的Web开发框架,它结合了Struts2和JQGrid两个强大的工具,用于创建动态、交互式的网格数据展示和管理界面。在本项目中,Struts2作为MVC(Model-View-Controller)框架负责处理业务逻辑和...
jqGrid尤其在Web应用程序中,与后端如Struts2等框架结合使用时,能够提供高效的数据展示和管理。 在“jqGrid中文大全(1)”这个压缩包中,包含了一系列关于jqGrid的中文教程和文档,这些资料可以帮助开发者更深入地...
这个"jqGrid增删改查例子"是一个实际应用示例,展示了如何结合Struts2框架和MySQL数据库实现一个完整的CRUD(创建、读取、更新、删除)功能的前端表格。 首先,让我们了解一下jqGrid的核心功能: 1. 数据展示:...
【jqgrid+三大框架】是将前端数据展示组件jqGrid与经典的Java后端开发框架——Hibernate、Struts和Spring相结合的应用实例。这个项目基于MyEclipse2014开发环境,主要目标是实现数据的查询功能并通过jqGrid进行前端...
在这个Demo中,我们将深入探讨JqGrid与JSON的结合以及Struts2框架如何在后台提供数据支持。 首先,JqGrid允许用户通过Ajax方式获取和操作数据,提供了排序、分页、搜索和编辑等功能。在`JqGrid Demo json`中,JSON...
将jqGrid与Struts结合,可以方便地在后台处理数据操作,例如通过Struts的Action来实现数据的增删改查,而前端则由jqGrid负责展示和交互,形成强大的前后端协作。 **核心功能** - **数据分页**:jqGrid允许用户对...
在本示例中,JSP与Struts2框架结合使用,Struts2是一个强大的MVC(Model-View-Controller)框架,它简化了Java Web开发,提供了一种组织和控制应用程序流程的方式。Struts2允许开发者通过Action类和配置文件定义业务...
Struts2与JqGrid结合,可以通过自定义Action类处理JqGrid的AJAX请求,返回JSON或XML格式的数据,以更新表格内容。 其次,"Spring"在此项目中主要扮演服务层和依赖注入的角色。Spring框架是一个全面的后端解决方案,...
它结合了Struts2的MVC设计模式、Spring的依赖注入(DI)和事务管理以及Hibernate的对象关系映射(ORM)功能。JQGrid是一款基于jQuery的前端数据网格插件,提供了丰富的表格操作功能,如分页、排序、过滤、编辑等,为...
本项目结合了这两者,提供了一个优秀的学习平台,帮助开发者深入理解这两个技术的结合应用。 首先,SSH(Struts2 + Spring + Hibernate)是Java Web开发中的经典框架组合。Struts2作为MVC(模型-视图-控制器)架构...
这就是jqGrid与Java结合实现简单增删改查的基本流程。需要注意的是,实际项目中还需要考虑数据验证、异常处理、安全性等问题,以及可能需要优化的性能问题,如使用PreparedStatement防止SQL注入,使用连接池管理...
在描述中提到的"jqgird+struts2标签框架"是指将jqGrid与Struts2框架结合使用,Struts2是一个Java EE平台上的MVC(Model-View-Controller)框架,用于构建动态Web应用。 Struts2的标签库大大简化了视图层的开发,而...
在Struts1、Hibernate、Spring(S1SH)框架中集成jqGrid,可以实现动态、交互式的表格展示,便于数据的检索、分页和编辑。jqGrid是一个强大的JavaScript库,用于构建功能丰富的表格,它提供了丰富的配置选项和API,...
在这个"jqGrid使用范例"中,我们将探讨如何将jqGrid与后端服务,包括Servlet和Struts2框架进行集成。 1. **jqGrid基本结构** jqGrid的核心是HTML表格元素,通过JavaScript脚本进行动态填充和操作。在HTML中,你...