`
m635674608
  • 浏览: 5041958 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jQuery插件flexigrid使用总结

    博客分类:
  • js
 
阅读更多
一、参考资料

1、jQuery插件flexiGrid的完全使用,附代码下载

2、修改flexigrid源码一(json,checkbox)[原创]

3、jQuery +UI + flexigrid做的一个用户管理界面

4、ASP.NET MVC Flexigrid sample

5、基于jQuery的GridView-FlexiGrid的使用和改造(1)--如何使用,完全参数说明

6、官方网站

7、总结!最佳jQuery窗口插件jqModal

二、说明

本文是在参考了以上内容后写出的,引用了相关代码。如有侵权,请与我联系。

自己整理了2套皮肤。

附件为eclipse工程文件,带数据库文件,导入相关sql,修改配置文件就能运行。

注意:部署的时候下面的一个文件:.mymetadata这个里面关系到这个项目的名称,由于我是直接拷贝的/gtgrid_LianDong这个项目,所以导致了名字不是flexigrid,请自行修改,

 

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project-module  
  3.   type="WEB"  
  4.   name="flexigrid"  
  5.   id="myeclipse.1267149904578"  
  6.   context-root="<span style="color: #ff0000;">/gtgrid_LianDong</span>"  
  7.   j2ee-spec="1.4"  
  8.   archive="flexigrid.war">  
  9.   <attributes>  
  10.     <attribute name="webrootdir" value="WebRoot" />  
  11.   </attributes>  
  12. </project-module>  

 

三、代码

 

 

Flexigrid部分代码代码  收藏代码
  1. if (t.grid)  
  2.             return false; // return if already exist  
  3.   
  4.         // apply default properties  
  5.         p = $.extend({  
  6.             height : 200, // flexigrid插件的高度,单位为px  
  7.             width : 'auto', // 宽度值,auto表示根据每列的宽度自动计算  
  8.             striped : true, // 是否显示斑纹效果,默认是奇偶交互的形式  
  9.             novstripe : false,  
  10.             minwidth : 30, // 列的最小宽度  
  11.             minheight : 80, // 列的最小高度  
  12.             resizable : true, // 是否可伸缩  
  13.             url : false, // ajax方式对应的url地址  
  14.             method : 'POST', // 数据发送方式  
  15.             dataType : 'xml', // 数据加载的类型  
  16.             checkbox : false,// 是否要多选框  
  17.             errormsg : '连接错误!',// 错误提示信息  
  18.             usepager : false, // 是否分页  
  19.             nowrap : true, // 是否不换行  
  20.             page : 1, // 默认当前页  
  21.             total : 1, // 总页面数  
  22.             useRp : true, // 是否可以动态设置每页显示的结果数  
  23.             rp : 15, // 每页默认的结果数  
  24.             rpOptions : [5,101520253040],// 可选择设定的每页结果数  
  25.             title : false,// 是否包含标题  
  26.             pagestat : '显示第 {from} 条到 {to} 条,共 {total} 条数据',// 显示当前页和总页面的样式  
  27.             procmsg : '正在处理,请稍候 ...',// 正在处理的提示信息  
  28.             query : '',// 搜索查询的条件  
  29.             qtype : '',// 搜索查询的类别  
  30.             nomsg : '没有数据存在!',// 无结果的提示信息  
  31.             minColToggle : 1, // 允许显示的最小列数  
  32.             showToggleBtn : true, // 是否允许显示隐藏列,该属性有bug设置成false点击头脚本报错  
  33.             hideOnSubmit : true,// 隐藏提交  
  34.             autoload : true,// 自动加载  
  35.             blockOpacity : 0.5,// 透明度设置  
  36.             onToggleCol : false,// 当在行之间转换时,可在此方法中重写默认实现,基本无用  
  37.             onChangeSort : false,// 当改变排序时,可在此方法中重写默认实现,自行实现客户端排序  
  38.             onSuccess : false,// 成功后执行  
  39.             onSubmit : false  
  40.               // 调用自定义的计算函数  
  41.           }, p);  

 

 

Test.js代码  收藏代码
  1. $(function() {  
  2.         $("#flex").flexigrid({  
  3.                 url : 'all.action',  
  4.                 dataType : 'json',  
  5.                 colModel : [{  
  6.                         display : 'ID',  
  7.                         name : 'id',  
  8.                         width : 50,// 得加上 要不IE报错  
  9.                         sortable : true,  
  10.                         align : 'center'  
  11.                     }, {  
  12.                         display : '商品名称',  
  13.                         name : 'name',  
  14.                         width : 100,  
  15.                         sortable : true,  
  16.                         align : 'center'  
  17.                     }, {  
  18.                         display : '标准',  
  19.                         name : 'stand',  
  20.                         width : 100,  
  21.                         sortable : true,  
  22.                         align : 'center'  
  23.                     }, {  
  24.                         display : '单价',  
  25.                         name : 'money',  
  26.                         width : 100,  
  27.                         sortable : true,  
  28.                         align : 'center'  
  29.                     }, {  
  30.                         display : '库存',  
  31.                         name : 'leavings',  
  32.                         width : 100,  
  33.                         sortable : true,  
  34.                         align : 'center'  
  35.                     }, {  
  36.                         display : '已经订购',  
  37.                         name : 'orders',  
  38.                         width : 100,  
  39.                         sortable : true,  
  40.                         align : 'center'  
  41.                     }],  
  42.                 buttons : [{  
  43.                         name : '添加',  
  44.                         bclass : 'add',  
  45.                         onpress : action  
  46.                     }, {  
  47.                         // 设置分割线  
  48.                         separator : true  
  49.                     }, {  
  50.                         name : '删除',  
  51.                         bclass : 'delete',  
  52.                         onpress : action  
  53.                     }, {  
  54.                         separator : true  
  55.                     }, {  
  56.                         name : '修改',  
  57.                         bclass : 'edit',  
  58.                         onpress : action  
  59.                     }, {  
  60.                         separator : true  
  61.                     }],  
  62. //              searchitems : [{  
  63. //                      display : 'ID',  
  64. //                      name : 'id',  
  65. //                      isdefault : true  
  66. //                  }, {  
  67. //                      display : '库存',  
  68. //                      name : 'leavings'  
  69. //                  }],  
  70.                 sortname : "id",  
  71.                 sortorder : "asc",  
  72.                 usepager : true,  
  73.                 title : '商品信息',  
  74.                 useRp : true,  
  75.                 checkbox : true,// 是否要多选框  
  76.                 rowId : 'id',// 多选框绑定行的id  
  77.                 rp : 10,  
  78.                 showTableToggleBtn : true,  
  79.                 width : 700,  
  80.                 height : 263  
  81.             });  
  82.         var actions="";  
  83.         function action(com, grid) {  
  84.             switch (com) {  
  85.                 case '添加' :  
  86.                     $("#savegoods input[type='text']").each(function() {  
  87.                             $(this).val("");  
  88.                         });  
  89.                      $('#savegoods input[name="id"]').removeAttr("<span style="font-family: 'Courier New', monospace;">disabled<span style="font-family: Verdana, Arial, Helvetica, sans-serif;">");</span></span>  
  90.                      $('#savegoods').attr("action","add.action");  
  91.                     actions="add.action";  
  92.                     $("#goods").jqmShow();  
  93.                     break;  
  94.                 case '修改' :  
  95.                     selected_count = $('.trSelected', grid).length;  
  96.                     if (selected_count == 0) {  
  97.                         alert('请选择一条记录!');  
  98.                         return;  
  99.                     }  
  100.                     if (selected_count > 1) {  
  101.                         alert('抱歉只能同时修改一条记录!');  
  102.                         return;  
  103.                     }  
  104.                     data = new Array();  
  105.                     $('.trSelected td', grid).each(function(i) {  
  106.                             data[i] = $(this).children('div').text();  
  107.                         });  
  108.                     $('#savegoods input[name="id"]').val(data[0]).attr("<span style="font-family: 'Courier New', monospace;">disabled<span style="font-family: Verdana, Arial, Helvetica, sans-serif;">",true);</span></span>  
  109.                     $('#savegoods input[name="name"]').val(data[1]);  
  110.                     $('#savegoods input[name="stand"]').val(data[2]);  
  111.                     $('#savegoods input[name="money"]').val(data[3]);  
  112.                     $('#savegoods input[name="leavings"]').val(data[4]);  
  113.                     $('#savegoods input[name="orders"]').val(data[5]);  
  114.                       
  115.                    actions="modify.action";  
  116.   
  117.                     $("#goods").jqmShow();  
  118.                     break;  
  119.                 case '删除' :  
  120.                     selected_count = $('.trSelected', grid).length;  
  121.                     if (selected_count == 0) {  
  122.                         alert('请选择一条记录!');  
  123.                         return;  
  124.                     }  
  125.                     names = '';  
  126.                     $('.trSelected td:nth-child(3) div', grid).each(function(i) {  
  127.                             if (i)  
  128.                                 names += ',';  
  129.                             names += $(this).text();  
  130.                         });  
  131.                     ids = '';  
  132.                     $('.trSelected td:nth-child(2) div', grid).each(function(i) {  
  133.                             if (i)  
  134.                                 ids += ',';  
  135.                             ids += $(this).text();  
  136.                         })  
  137.                     if (confirm("确定删除商品[" + names + "]?")) {  
  138.                         delUser(ids);  
  139.                     }  
  140.                     break;  
  141.             }  
  142.         }  
  143.         $("#goods").jqm({  
  144.             // trigger : 'a.showDialog',// 触发  
  145.             // ajax: '@href',//ajax读取方式  
  146.             // ajaxText:'',//提示语言  
  147.             modal : true,// 限制输入(鼠标点击,按键)的对话  
  148.             overlay : 60 // 遮罩程度%  
  149.               // target : t,// 提示  
  150.               // onHide : function(h) {  
  151.               // // // t.html('Please Wait...'); // Clear Content HTML on Hide.  
  152.               // h.o.remove(); // remove overlay  
  153.               // // h.w.fadeOut(888); // hide window  
  154.               // }  
  155.           }).jqmAddClose('.close')// 添加触发关闭的selector  
  156.           .jqDrag('.drag');// 添加拖拽的selector  
  157.           
  158.         function delUser(ids) {  
  159.             $.ajax({  
  160.                     url : 'delete.action',  
  161.                     data : {  
  162.                         ids : ids  
  163.                     },  
  164.                     type : 'POST',  
  165.                     dataType : 'json',  
  166.                     success : function() {  
  167.                         $('#flex').flexReload();//表格重载  
  168.                     }  
  169.                 });  
  170.         }  
  171.         $("#submit").click(function(){  
  172.              $.ajax({  
  173.                     url : actions,  
  174.                     data : $("#savegoods").serialize(),  
  175.                     type : 'POST',  
  176.                     dataType : 'json',  
  177.                     success : function(data) {  
  178.                         $("#goods").jqmHide();  
  179.                         $('#flex').flexReload();  
  180.                     }  
  181.                 });  
  182.         })  
  183.     });  

 

Index.jsp代码  收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3.     <head>  
  4.         <title>商品信息</title>  
  5.         <link rel="stylesheet" type="text/css"  
  6.             href="flexigrid_my/css/flexigrid_gray.css">  
  7.         <link rel="stylesheet" type="text/css"  
  8.             href="flexigrid_my/jqModal/css/jqModal_gray.css">  
  9.         <script type="text/javascript" src="flexigrid_my/jquery-1.3.2.min.js"></script>  
  10.         <script type="text/javascript" src="flexigrid_my/flexigrid.js"></script>  
  11.         <script type="text/javascript" src="flexigrid_my/jqModal/jqDnR.js"></script>  
  12.         <script type="text/javascript" src="flexigrid_my/jqModal/jqModal.js"></script>  
  13.         <script type="text/javascript" src="flexigrid_my/test.js"></script>  
  14.     </head>  
  15.     <body>  
  16.         <table id="flex" style="display: none"></table>  
  17.         <div class="jqmWindow" style="width: 300px;" id="goods">  
  18.             <div class="drag">  
  19.                 商品信息编辑  
  20.                 <div class="close"></div>  
  21.             </div>  
  22.             <form id="savegoods" method="post">  
  23.                 <table width="252" border="0" align="center"  
  24.                     cellpadding="0" cellspacing="0">  
  25.                     <tr>  
  26.                         <td>ID:</td>  
  27.                         <td><input type="text" name="id" ></td>  
  28.                     </tr>  
  29.                     <tr>  
  30.                         <td>商品名称:</td>  
  31.                         <td><input type="text" name="name"></td>  
  32.                     </tr>  
  33.                     <tr>  
  34.                         <td>标准:</td>  
  35.                         <td><input type="text" name="stand"></td>  
  36.                     </tr>  
  37.                     <tr>  
  38.                         <td>单价:</td>  
  39.                         <td><input type="text" name="money"></td>  
  40.                     </tr>  
  41.                     <tr>  
  42.                         <td>库存:</td>  
  43.                         <td><input type="text" name="leavings"></td>  
  44.                     </tr>  
  45.                     <tr>  
  46.                         <td>已经订购:</td>  
  47.                         <td><input type="text" name="orders"></td>  
  48.                     </tr>  
  49.                 </table>  
  50.                 <div align="center">  
  51.                     <input type="button" id="submit" class="input-button" value="提交" />  
  52.                     <input type="reset" class="input-button" value="重置" />  
  53.                 </div>  
  54.             </form>  
  55.         </div>  
  56.     </body>  
  57. </html><span style="white-space: normal;"><strong>  
  58. </strong></span>  
 四、部分效果图

蓝色皮肤

蓝色皮肤下的修改

 

灰色皮肤

灰色皮肤下的修改

 

五、BUG

在Firefox3.6、IE6、7、8、Chrome5下测试通过。

修复了在ie8下checkbox显示的问题。

修改了禁止修改ID,改为: $('#savegoods input[name="id"]').val(data[0]).attr("disabled",true);同时: $('#savegoods input[name="id"]').removeAttr("disabled");

 

http://matychen.iteye.com/blog/611837

 

分享到:
评论

相关推荐

    jQuery插件flexigrid使用总结--进一步优化

    《jQuery插件flexigrid使用总结与进一步优化》 在Web开发中,数据展示和交互是不可或缺的一部分。jQuery插件flexigrid是一款轻量级、功能强大的表格插件,能够帮助开发者快速构建具有分页、排序、搜索等功能的动态...

    JQuery_插件FlexiGrid_之完全配置与使用

    ### JQuery插件FlexiGrid之完全配置与使用 #### 一、引言 FlexiGrid是一款基于jQuery的轻量级表格插件,它为开发者提供了简单易用的方式来展示和操作数据表格。FlexiGrid支持多种功能,如排序、分页、筛选等,非常...

    jquery表格插件Flexigrid

    Flexigrid是一款基于jQuery的强大的表格插件,它允许开发者将数据以美观、可操作的表格形式呈现出来,类似于知名的JavaScript框架ExtJS的表格组件。这个插件的主要优点在于其灵活性和可定制性,能够满足各种复杂的...

    jquery插件FlexiGrid的使用(已更新)

    综上所述,FlexiGrid是一个强大的jQuery插件,它能帮助开发者快速构建具有高级特性的数据表格。通过灵活配置和丰富的API,你可以根据项目需求定制出满足各种需求的表格组件。在实际应用中,记得结合自己的数据源和...

    jQuery表格插件 Flexigrid的例子

    Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid。它具有的功能包括:可以调整列宽,合并列标题,分页,排序,显示/隐藏表格等。Flexigrid显示的数据能够通过Ajax获取或者从一个普通的表格转换。这个例子对...

    jquery flexigrid 支持前台排序

    Tablesorter是一个轻量级的jQuery插件,它可以对HTML表格进行排序,无需任何服务器端的支持。 接下来,我们需要对Flexigrid的表格元素应用Tablesorter。首先,确保已经正确引入了Tablesorter的相关库,然后在页面...

    jquery插件之flexigrid篇

    总的来说,jQuery插件flexigrid是一个强大的工具,为Web开发人员提供了一种高效的数据展示解决方案。通过深入理解和应用,你可以创建出具有专业水准的数据管理界面,提升用户的操作体验。对于PHP开发者来说,它更是...

    jquery+flexigrid使用方法.pdf

    jQuery与Flexigrid的结合使用在Web开发中常用于创建动态、交互性强的数据表格。Flexigrid是一款基于jQuery的插件,它提供了一种轻量级的方式来展示和操作网格数据,具有分页、排序、搜索等功能,特别适用于数据密集...

    jquery flexigrid

    jQuery Flexigrid是一款基于jQuery库的表格插件,专为网页数据展示提供强大的功能。它具有高度可定制性,支持分页、排序、搜索以及自定义列宽,使得网页中的数据管理更加便捷和灵活。 Flexigrid的核心特性在于其...

    jquery插件之flexigrid学习实例-jar包

    在"jquery插件之flexigrid学习实例-jar包"中,我们主要关注的是如何将Flexigrid集成到基于Struts2和JSON的Java应用中。以下是对这个主题的详细讲解: 首先,让我们了解Flexigrid。Flexigrid是一款轻量级的...

    jquery 表格插件 Flexigrid

    总结来说,Flexigrid是jQuery生态中一款功能强大、易于使用的表格插件,对于需要展示和操作表格数据的Web应用来说,是一个值得考虑的选择。通过熟练掌握其配置和API,开发者可以构建出高性能、交互性强的数据展示...

    jquery插件之flexigrid学习实例

    在这个"jquery插件之flexigrid学习实例"中,我们将深入探讨如何在Struts2框架下结合JSON进行数据交互,以实现一个完整的应用。 首先,我们需要了解Flexigrid的基本使用方法。在HTML页面中,我们需要引入jQuery库和...

    基于jQuery的FlexiGrid的插件使用和改造

    6. 插件扩展:利用jQuery插件机制,编写自己的扩展插件,实现更高级的功能,如拖拽列宽、列隐藏、列排序方式切换等。 通过以上介绍,我们可以了解到FlexiGrid的基本使用、功能扩展以及可能的改造方向。在实际开发中...

    jquery flexigrid插件

    Flexigrid 是一个轻量级的Web2.0 jQuery插件。它包含很多非常Cool的特性,如主题定制、分页、工具栏、搜索、排序、ajax读取数据源、调整列宽高尺寸等。 一个中文实例教程: http://www.javaeye.com/topic/414611

    Jquery FlexiGrid JS

    - **Ajax请求**:FlexiGrid使用jQuery的Ajax方法向服务器发送GET或POST请求,请求参数包括当前的排序条件、分页信息等。 - **服务器响应**:服务器接收到请求后,解析参数,执行相应的数据库操作,然后将结果集以...

    jquery表格插件flexigrid-1.1.zip

    Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid。它具有的功能包括:可以调整列宽,合并列标题,分页,排序,显示/隐藏表格等。Flexigrid显示的数据能够通过Ajax获取或者从一个普通的表格转换。

    jquery grid插件 Flexigrid + servlet

    Flexigrid是一款基于jQuery的网格插件,它提供了一种灵活、强大的方式来展示和操作数据,常用于创建数据密集型的Web应用。这个插件以其丰富的功能、自定义选项和用户友好的界面而受到开发者的青睐。在与servlet结合...

    JQuery_插件FlexiGrid_之完全配置与使用.doc

    JQuery FlexiGrid 插件是一款强大的数据网格组件,用于在网页中展示和管理结构化的数据。它提供了丰富的功能,包括排序、分页、搜索、编辑和自定义操作按钮等。下面将详细介绍FlexiGrid的配置和使用方法。 首先,你...

    Spring MVC+JPA+Jquery+Flexigrid修改简单示例

    总结,"Spring MVC+JPA+Jquery+Flexigrid修改简单示例"是一个完整的Web应用开发案例,它涵盖了后端数据处理、前端交互以及数据展示等多个方面。这个示例可以帮助开发者快速理解并掌握这些技术的集成和使用,为构建...

Global site tag (gtag.js) - Google Analytics