`

jqGrid与Struts2的结合应用(三)转

 
阅读更多

最近刚刚从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

Html代码  收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >   
  2. < html >   
  3.     < head >   
  4.         < meta   http-equiv = "Content-Type"   content = "text/html; charset=UTF-8" >   
  5.         < title > Insert title here </ title >   
  6.         < link   rel = "stylesheet"   type = "text/css"   media = "screen"   href = "css/ui-smoothness/jquery-ui-1.7.2.custom.css"   />   
  7.         < link   rel = "stylesheet"   type = "text/css"   media = "screen"   href = "css/ui.jqgrid.css"   />   
  8.         < scrip   src = "js/jquery-1.3.2.min.js"   type = "text/javascrip" > </ scrip >   
  9.         < scrip   src = "js/jquery-ui-1.7.2.min.js"   type = "text/javascrip" > </ scrip >   
  10.         < scrip   src = "js/plugin/jqGrid/i18n/grid.locale-en.js"   type = "text/javascrip" > </ scrip >   
  11.         < scrip   src = "js/plugin/jqGrid/jquery.jqGrid.min.js"   type = "text/javascrip" > </ scrip >   
  12.         < scrip   src = "js/index.js"   type = "text/javascrip" > </ scrip >   
  13.         < style >   
  14.             body {font-size: 12px;}  
  15.         </ style >   
  16.     </ head >   
  17.     < body >   
  18.         < div   id = "content" >   
  19.             < table   id = "colch" > </ table >   
  20.             < div   id = "pcolch" > </ div >   
  21.             < div   id = "filter"   style = "margin-left:30%;display:none" > Search Invoices </ div >   
  22.         </ div >   
  23.     </ body >   
  24. </ html >   
 

index.js

Js代码  收藏代码
  1. $(document).ready( function () {  
  2.     var  $mygrid = $( "#colch" ).jqGrid( {  
  3.         url : 'table.xml' ,  
  4.         datatype : "xml" ,  
  5.         autowidth : true ,  
  6.         viewrecords : true ,  
  7.         sortable : true ,  
  8.         rowNum : 10,  
  9.         height : '100%' ,  
  10.         pager : '#pcolch' ,  
  11.         sortname : 'invdate' ,  
  12.         sortorder : "desc" ,  
  13.         ExpandColumn : 'note' ,  
  14.         caption : "Column Chooser Example" ,  
  15.         rowList : [ 10, 20, 30 ],  
  16.         colNames : [ 'Inv No' 'Date' 'Client' 'Amount' 'Tax' 'Total' 'Notes'  ],  
  17.         colModel : [ {  
  18.             name : 'id' ,  
  19.             index : 'id' ,  
  20.             editable : true ,  
  21.             editoptions : {  
  22.                 readonly : true ,  
  23.                 size : 10  
  24.             },  
  25.             width : 55  
  26.         }, {  
  27.             name : 'invdate' ,  
  28.             index : 'invdate' ,  
  29.             editable : true ,  
  30.             searchoptions : {  
  31.                 dataInit : function (el) {  
  32.                     $(el).datepicker( {  
  33.                         dateFormat : 'yy-mm-dd'   
  34.                     });  
  35.                 }  
  36.             },  
  37.             width : 90  
  38.         }, {  
  39.             name : 'name' ,  
  40.             index : 'name asc, invdate' ,  
  41.             editable : true ,  
  42.             width : 100  
  43.         }, {  
  44.             name : 'amount' ,  
  45.             index : 'amount' ,  
  46.             editable : true ,  
  47.             width : 80  
  48.         }, {  
  49.             name : 'tax' ,  
  50.             index : 'tax' ,  
  51.             editable : true ,  
  52.             width : 80  
  53.         }, {  
  54.             name : 'total' ,  
  55.             index : 'total' ,  
  56.             editable : true ,  
  57.             width : 80  
  58.         }, {  
  59.             name : 'note' ,  
  60.             index : 'note' ,  
  61.             editable : true ,  
  62.             sortable : false   
  63.         } ]  
  64.     });  
  65.   
  66.     $mygrid.jqGrid('navGrid' '#pcolch' , {  
  67.         view : true ,  
  68.         search : false   
  69.     }, {  
  70.         // edit options   
  71.         height : 290,  
  72.         reloadAfterSubmit : false ,  
  73.         jqModal : false ,  
  74.         closeOnEscape : true ,  
  75.         bottominfo : "Fields marked with (*) are required"   
  76.     }, {  
  77.         // add options   
  78.         height : 290,  
  79.         reloadAfterSubmit : false ,  
  80.         jqModal : false ,  
  81.         closeOnEscape : true ,  
  82.         bottominfo : "Fields marked with (*) are required" ,  
  83.         closeAfterAdd : true   
  84.     });  
  85.   
  86.     // toggle search row button   
  87.     $("#colch" ).jqGrid( 'navButtonAdd' "#pcolch" , {  
  88.         caption : "Toggle" ,  
  89.         title : "Toggle Search Toolbar" ,  
  90.         buttonicon : 'ui-icon-pin-s' ,  
  91.         onClickButton : function () {  
  92.             $mygrid[0].toggleToolbar();  
  93.         }  
  94.     });  
  95.   
  96.     // clean search value button   
  97.     $("#colch" ).jqGrid( 'navButtonAdd' "#pcolch" , {  
  98.         caption : "Clear" ,  
  99.         title : "Clear Search" ,  
  100.         buttonicon : 'ui-icon-refresh' ,  
  101.         onClickButton : function () {  
  102.             $mygrid[0].clearToolbar();  
  103.         }  
  104.     });  
  105.   
  106.     // select display column button   
  107.     $("#colch" ).jqGrid( 'navButtonAdd' '#pcolch' , {  
  108.         caption : "Columns" ,  
  109.         title : "Reorder Columns" ,  
  110.         onClickButton : function () {  
  111.             jQuery("#colch" ).jqGrid( 'columnChooser' , {  
  112.                 done : function (perm) {  
  113.                     if  (perm) {  
  114.                         this .jqGrid( "remapColumns" , perm,  true );  
  115.                         var  gwdth =  this .jqGrid( "getGridParam" "width" );  
  116.                         this .jqGrid( "setGridWidth" , gwdth);  
  117.                     }  
  118.                 }  
  119.   
  120.             });  
  121.         }  
  122.     });  
  123.   
  124.     $("#colch" ).jqGrid( 'filterToolbar' );  
  125. });  
 

table.xml

Xml代码  收藏代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2. < rows >   
  3.     < page > 1 </ page >   
  4.     < total > 3 </ total >   
  5.     < records > 56 </ records >   
  6.     < row   id = '1' >   
  7.         < cell > 1 </ cell >   
  8.         < cell > 2010-01-23 </ cell >   
  9.         < cell > test </ cell >   
  10.         < cell > note </ cell >   
  11.         < cell > 200.00 </ cell >   
  12.         < cell > 10.00 </ cell >   
  13.         < cell > 210.00 </ cell >   
  14.     </ row >   
  15.     < row   id = '2' >   
  16.         < cell > 2 </ cell >   
  17.         < cell > 2010-01-23 </ cell >   
  18.         < cell > test </ cell >   
  19.         < cell > note </ cell >   
  20.         < cell > 200.00 </ cell >   
  21.         < cell > 10.00 </ cell >   
  22.         < cell > 210.00 </ cell >   
  23.     </ row >   
  24.     < row   id = '3' >   
  25.         < cell > 3 </ cell >   
  26.         < cell > 2010-01-23 </ cell >   
  27.         < cell > test </ cell >   
  28.         < cell > note </ cell >   
  29.         < cell > 200.00 </ cell >   
  30.         < cell > 10.00 </ cell >   
  31.         < cell > 210.00 </ cell >   
  32.     </ row >   
  33.     < row   id = '4' >   
  34.         < cell > 4 </ cell >   
  35.         < cell > 2010-01-23 </ cell >   
  36.         < cell > test </ cell >   
  37.         < cell > note </ cell >   
  38.         < cell > 200.00 </ cell >   
  39.         < cell > 10.00 </ cell >   
  40.         < cell > 210.00 </ cell >   
  41.     </ row >   
  42.     < row   id = '5' >   
  43.         < cell > 5 </ cell >   
  44.         < cell > 2010-01-23 </ cell >   
  45.         < cell > test </ cell >   
  46.         < cell > note </ cell >   
  47.         < cell > 200.00 </ cell >   
  48.         < cell > 10.00 </ cell >   
  49.         < cell > 210.00 </ cell >   
  50.     </ row >   
  51.     < row   id = '6' >   
  52.         < cell > 6 </ cell >   
  53.         < cell > 2010-01-23 </ cell >   
  54.         < cell > test </ cell >   
  55.         < cell > note </ cell >   
  56.         < cell > 200.00 </ cell >   
  57.         < cell > 10.00 </ cell >   
  58.         < cell > 210.00 </ cell >   
  59.     </ row >   
  60.     < row   id = '7' >   
  61.         < cell > 7 </ cell >   
  62.         < cell > 2010-01-23 </ cell >   
  63.         < cell > test </ cell >   
  64.         < cell > note </ cell >   
  65.         < cell > 200.00 </ cell >   
  66.         < cell > 10.00 </ cell >   
  67.         < cell > 210.00 </ cell >   
  68.     </ row >   
  69.     < row   id = '8' >   
  70.         < cell > 8 </ cell >   
  71.         < cell > 2010-01-23 </ cell >   
  72.         < cell > test </ cell >   
  73.         < cell > note </ cell >   
  74.         < cell > 200.00 </ cell >   
  75.         < cell > 10.00 </ cell >   
  76.         < cell > 210.00 </ cell >   
  77.     </ row >   
  78.     < row   id = '9' >   
  79.         < cell > 9 </ cell >   
  80.         < cell > 2010-01-23 </ cell >   
  81.         < cell > test </ cell >   
  82.         < cell > note </ cell >   
  83.         < cell > 200.00 </ cell >   
  84.         < cell > 10.00 </ cell >   
  85.         < cell > 210.00 </ cell >   
  86.     </ row >   
  87.     < row   id = '10' >   
  88.         < cell > 10 </ cell >   
  89.         < cell > 2010-01-23 </ cell >   
  90.         < cell > test </ cell >   
  91.         < cell > note </ cell >   
  92.         < cell > 200.00 </ cell >   
  93.         < cell > 10.00 </ cell >   
  94.         < cell > 210.00 </ cell >   
  95.     </ row >   
  96. </ rows >   
 

以下是最终效果截图

 

查看

 

添加

 

编辑

 

搜索

 

自定义显示列

分享到:
评论
1 楼 a498740995 2012-04-28  
如果grid向server请求失败了。怎么处理呢?

相关推荐

    jqGrid与Struts2的结合应用_操作Grid数据

    总结来说,jqGrid 与 Struts2 的结合应用提供了高效的数据展示和管理能力。通过理解并熟练运用 jqGrid 的核心方法,开发者可以构建出功能丰富的数据网格,同时结合 Struts2 的灵活性,实现前后端的无缝协作,提高...

    jqGrid与Struts2的结合应用

    在jqGrid与Struts2的结合应用中,我们通常会经历以下几个步骤: 1. **配置Struts2**:首先,需要在项目的`struts.xml`配置文件中添加jqGrid相关的Action,这些Action负责处理来自jqGrid的AJAX请求,获取或更新...

    jqgrid+struts2

    **三、jqGrid与Struts2结合应用** jqGrid与Struts2的结合使用可以实现数据的后台动态加载和前端的交互操作。具体步骤如下: 1. **配置Struts2 Action**:创建一个Action类,负责处理请求并返回数据。例如,可以创建...

    jqgrid+struts2实现的增删改查

    在本项目中,jqGrid 与 Struts2 结合,实现了Web应用中的核心功能——增删改查。以下是关键步骤: 1. **配置 Struts2**:首先,需要在项目的 `struts.xml` 配置文件中设置Action类及其对应的URL映射,以及指定使用...

    jqGrid与Struts2 详细文档

    总的来说,jqGrid 与 Struts2 结合使用,可以构建出功能丰富的数据展示和管理界面。理解并熟练掌握 jqGrid 的选项配置和与服务器端的交互机制,对于提升 Web 应用的用户体验和数据管理能力至关重要。

    jqGrid与Sturts2的结合例子

    将jqGrid与Struts2结合,可以创建高效的前端数据展示和交互界面,同时利用Struts2的强大后端处理能力。 在这个"jqGrid与Struts2的结合例子"中,我们将探讨如何将这两者集成,以实现动态加载、数据过滤、编辑和保存...

    Struts2JQGrid java版本分页

    Struts2JQGrid是一个基于Java的Web开发框架,它结合了Struts2和JQGrid两个强大的工具,用于创建动态、交互式的网格数据展示和管理界面。在本项目中,Struts2作为MVC(Model-View-Controller)框架负责处理业务逻辑和...

    jqGrid 中文大全(1)

    jqGrid尤其在Web应用程序中,与后端如Struts2等框架结合使用时,能够提供高效的数据展示和管理。 在“jqGrid中文大全(1)”这个压缩包中,包含了一系列关于jqGrid的中文教程和文档,这些资料可以帮助开发者更深入地...

    jqGrid增删改查例子

    这个"jqGrid增删改查例子"是一个实际应用示例,展示了如何结合Struts2框架和MySQL数据库实现一个完整的CRUD(创建、读取、更新、删除)功能的前端表格。 首先,让我们了解一下jqGrid的核心功能: 1. 数据展示:...

    jqgrid+三大框架

    【jqgrid+三大框架】是将前端数据展示组件jqGrid与经典的Java后端开发框架——Hibernate、Struts和Spring相结合的应用实例。这个项目基于MyEclipse2014开发环境,主要目标是实现数据的查询功能并通过jqGrid进行前端...

    JqGrid Demo json

    在这个Demo中,我们将深入探讨JqGrid与JSON的结合以及Struts2框架如何在后台提供数据支持。 首先,JqGrid允许用户通过Ajax方式获取和操作数据,提供了排序、分页、搜索和编辑等功能。在`JqGrid Demo json`中,JSON...

    jqGrid 演示最新版 jqgrid 4.4, jQuery 1.8.0, jQuery-ui 1.8.23

    将jqGrid与Struts结合,可以方便地在后台处理数据操作,例如通过Struts的Action来实现数据的增删改查,而前端则由jqGrid负责展示和交互,形成强大的前后端协作。 **核心功能** - **数据分页**:jqGrid允许用户对...

    jqGridDemo

    在本示例中,JSP与Struts2框架结合使用,Struts2是一个强大的MVC(Model-View-Controller)框架,它简化了Java Web开发,提供了一种组织和控制应用程序流程的方式。Struts2允许开发者通过Action类和配置文件定义业务...

    JqGrid项目(java web)

    Struts2与JqGrid结合,可以通过自定义Action类处理JqGrid的AJAX请求,返回JSON或XML格式的数据,以更新表格内容。 其次,"Spring"在此项目中主要扮演服务层和依赖注入的角色。Spring框架是一个全面的后端解决方案,...

    ssh+jqgrid的整合

    它结合了Struts2的MVC设计模式、Spring的依赖注入(DI)和事务管理以及Hibernate的对象关系映射(ORM)功能。JQGrid是一款基于jQuery的前端数据网格插件,提供了丰富的表格操作功能,如分页、排序、过滤、编辑等,为...

    ssh+jqGrid的项目

    本项目结合了这两者,提供了一个优秀的学习平台,帮助开发者深入理解这两个技术的结合应用。 首先,SSH(Struts2 + Spring + Hibernate)是Java Web开发中的经典框架组合。Struts2作为MVC(模型-视图-控制器)架构...

    jqGrid与java简单的增删改查

    这就是jqGrid与Java结合实现简单增删改查的基本流程。需要注意的是,实际项目中还需要考虑数据验证、异常处理、安全性等问题,以及可能需要优化的性能问题,如使用PreparedStatement防止SQL注入,使用连接池管理...

    jqgird框架

    在描述中提到的"jqgird+struts2标签框架"是指将jqGrid与Struts2框架结合使用,Struts2是一个Java EE平台上的MVC(Model-View-Controller)框架,用于构建动态Web应用。 Struts2的标签库大大简化了视图层的开发,而...

    struts1-hibernate-spring框架中jqgrid页面生成详解

    在Struts1、Hibernate、Spring(S1SH)框架中集成jqGrid,可以实现动态、交互式的表格展示,便于数据的检索、分页和编辑。jqGrid是一个强大的JavaScript库,用于构建功能丰富的表格,它提供了丰富的配置选项和API,...

    jqGrid使用范例

    在这个"jqGrid使用范例"中,我们将探讨如何将jqGrid与后端服务,包括Servlet和Struts2框架进行集成。 1. **jqGrid基本结构** jqGrid的核心是HTML表格元素,通过JavaScript脚本进行动态填充和操作。在HTML中,你...

Global site tag (gtag.js) - Google Analytics