一、参考资料

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,请自行修改,

  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>
三、代码
  1. if (t.grid)
  2. return false; // return if already exist
  3. // apply default properties
  4. p = $.extend({
  5. height : 200, // flexigrid插件的高度,单位为px
  6. width : 'auto', // 宽度值,auto表示根据每列的宽度自动计算
  7. striped : true, // 是否显示斑纹效果,默认是奇偶交互的形式
  8. novstripe : false,
  9. minwidth : 30, // 列的最小宽度
  10. minheight : 80, // 列的最小高度
  11. resizable : true, // 是否可伸缩
  12. url : false, // ajax方式对应的url地址
  13. method : 'POST', // 数据发送方式
  14. dataType : 'xml', // 数据加载的类型
  15. checkbox : false,// 是否要多选框
  16. errormsg : '连接错误!',// 错误提示信息
  17. usepager : false, // 是否分页
  18. nowrap : true, // 是否不换行
  19. page : 1, // 默认当前页
  20. total : 1, // 总页面数
  21. useRp : true, // 是否可以动态设置每页显示的结果数
  22. rp : 15, // 每页默认的结果数
  23. rpOptions : [5,10, 15, 20, 25, 30, 40],// 可选择设定的每页结果数
  24. title : false,// 是否包含标题
  25. pagestat : '显示第 {from} 条到 {to} 条,共 {total} 条数据',// 显示当前页和总页面的样式
  26. procmsg : '正在处理,请稍候 ...',// 正在处理的提示信息
  27. query : '',// 搜索查询的条件
  28. qtype : '',// 搜索查询的类别
  29. nomsg : '没有数据存在!',// 无结果的提示信息
  30. minColToggle : 1, // 允许显示的最小列数
  31. showToggleBtn : true, // 是否允许显示隐藏列,该属性有bug设置成false点击头脚本报错
  32. hideOnSubmit : true,// 隐藏提交
  33. autoload : true,// 自动加载
  34. blockOpacity : 0.5,// 透明度设置
  35. onToggleCol : false,// 当在行之间转换时,可在此方法中重写默认实现,基本无用
  36. onChangeSort : false,// 当改变排序时,可在此方法中重写默认实现,自行实现客户端排序
  37. onSuccess : false,// 成功后执行
  38. onSubmit : false
  39. // 调用自定义的计算函数
  40. }, p);
  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. actions="modify.action";
  115. $("#goods").jqmShow();
  116. break;
  117. case '删除' :
  118. selected_count = $('.trSelected', grid).length;
  119. if (selected_count == 0) {
  120. alert('请选择一条记录!');
  121. return;
  122. }
  123. names = '';
  124. $('.trSelected td:nth-child(3) div', grid).each(function(i) {
  125. if (i)
  126. names += ',';
  127. names += $(this).text();
  128. });
  129. ids = '';
  130. $('.trSelected td:nth-child(2) div', grid).each(function(i) {
  131. if (i)
  132. ids += ',';
  133. ids += $(this).text();
  134. })
  135. if (confirm("确定删除商品[" + names + "]?")) {
  136. delUser(ids);
  137. }
  138. break;
  139. }
  140. }
  141. $("#goods").jqm({
  142. // trigger : 'a.showDialog',// 触发
  143. // ajax: '@href',//ajax读取方式
  144. // ajaxText:'',//提示语言
  145. modal : true,// 限制输入(鼠标点击,按键)的对话
  146. overlay : 60 // 遮罩程度%
  147. // target : t,// 提示
  148. // onHide : function(h) {
  149. // // // t.html('Please Wait...'); // Clear Content HTML on Hide.
  150. // h.o.remove(); // remove overlay
  151. // // h.w.fadeOut(888); // hide window
  152. // }
  153. }).jqmAddClose('.close')// 添加触发关闭的selector
  154. .jqDrag('.drag');// 添加拖拽的selector
  155. function delUser(ids) {
  156. $.ajax({
  157. url : 'delete.action',
  158. data : {
  159. ids : ids
  160. },
  161. type : 'POST',
  162. dataType : 'json',
  163. success : function() {
  164. $('#flex').flexReload();//表格重载
  165. }
  166. });
  167. }
  168. $("#submit").click(function(){
  169. $.ajax({
  170. url : actions,
  171. data : $("#savegoods").serialize(),
  172. type : 'POST',
  173. dataType : 'json',
  174. success : function(data) {
  175. $("#goods").jqmHide();
  176. $('#flex').flexReload();
  177. }
  178. });
  179. })
  180. });
  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");

用JQuery让GT-Grid的下拉列表实现二级联动

flexigrid的更多相关文章

  1. FlexiGrid 使用 全选、自动绑定

    1.介绍 Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid.它具有的功能包括:可以调整列宽,合并列标题,分页,排序,显示/隐藏表格等.Flexigrid显示的数据能够通 ...

  2. Flexigrid从对象中加载数据

    (有问题,在找…………) Flexigrid是用来动态加载数据的一种比较好(老)的Jquery表插件,然后有些时候,我们需要其从本地或者jQuery对象中加载数据,比如有这么个需求,页面显示中有两个表 ...

  3. 【jquery】flexiGrid新增功能的方式

    到目前为止,我用过的jquery表格插件只有jqGrid和flexiGrid.今天,只说后者. 关于参数配置,使用方法,博客园文章很多. 原生的flexiGrid架包不大,内容可以扩展,比如在每行数据 ...

  4. 【Jquery】【控件】flexigrid 自定义查询

    最近用flexigrid作报表,需要自定义条件进行查询,界面如下: 翻了半天文档也没找到如何用POST方法自行传递参数进行查询. 找了一个台湾人写的博客,却要改flexigrid的源代码,更不靠谱. ...

  5. flexigrid扩展(添加全选,格式化表单)

    1.关于flexigrid的属性这里不多说,百度一大把. 这里主要说一个参数process process参数:编写对某一列进行自定义处理的函数 function 方法名(tddiv,pid){}// ...

  6. flexigrid随手记

    最近要用到flexigrid做表格,随手记一些知识点. 引入了两个jquery库(jquery.js和jquery-1.7.1.min.js),发生冲突,只保留一个 $("#gridTabl ...

  7. (转)flexigrid 参数说明

    本文为转载 http://simple1024.iteye.com/blog/1171090 项目用到这玩意,像样的API都是英文的,英文不好,所以经过各种搜集,flexigrid就整理了这么多用得上 ...

  8. Flexigrid例子二: 原位编辑器

    有时候,我们想要编辑flexigrid里的数据.一个原位编辑器是需要的,现在不需要再弹出一个对话框了.这里我会展示如何做到这点. 我使用了jquery-in-place-editor库.请参考官方站点 ...

  9. JQuery 插件FlexiGrid 之完全配置与使用

    博客分类: Java综合 jQuery配置管理jsonServlet数据结构  自己再做这个的时候.也是找了很多资料..但网上搜索了很多资料. 没有介绍的很全的. 鄙人就在此献丑一下. 来全面的介绍一 ...

  10. Flexigrid在IE下不显示数据的处理

    文章总结自我的论坛提问: http://bbs.csdn.net/topics/390498434?page=1#post-394918028 解决方法: 网上的答案经我验证都是不靠谱的,以后大家就知 ...

随机推荐

  1. Binary Trees

    1. Definiation What is Binary Trees? Collection of node (n>=0) and in which no node can have more ...

  2. Talking Ben App砸壳记

    需求: 导出Talking Ben app的头文件 实施: 1)准备材料: 越狱IOS设备一部,并安装Talking Ben游戏 IOS设备上安装open SSH IOS设备的/usr/bin 中安装 ...

  3. zookeeper(1)

    参考文档:zookeeper中文网 一.介绍安装 zookeeper 是一个高效的分布式协调服务,它暴露了一些公用服务,比如命名/配置/同步控制/群组服务等.我们可以使用ZK来实现一些功能,例如:达成 ...

  4. 利用yield关键字输出杨辉三角

    最近学习了下python,发现里面也有yield的用法,本来对C#里的yield不甚了解,但是通过学习python,对于C#的yield理解更深了!! 不多说了,小学生水平的表达能力伤不起.... 直 ...

  5. Gentoo挂载ntfs的NTFS分区

    内核需要开启的选项 File systems ---> <*> FUSE (Filesystem in Userspace) support 使用NTFS-3G NTFS-3G是一个 ...

  6. Gentoo安装详解(四)-- 声卡设置

    硬件检测 To choose the right driver, first detect the used audio controller. You can use lspci for this ...

  7. solr定时增量索引

    当数据库的数据发生改变的时候,我们不想手动的去重新添加数据库的数据导solr索引库中,所以用到定时添加索引.增删改的数据.现在写的这些都是基于我之前做的一步步到这来的. 将solr/dist下的sol ...

  8. wpf ListBox 双击事件时在子项添加Style 确保选中

    <ListBox ItemTemplate="{StaticResource CardPictureTemplate}" VirtualizingPanel.CacheLen ...

  9. 修改textField的placeholder的字体和颜色

    textField.placeholder = @"username is in here!"; [textField setValue:[UIColor redColor] fo ...

  10. ubuntu下安装BeyondCompare比较工具

    在ubuntu12.04下使用比较工具,这里参考了网上的一个方法来安装BeyondCompare3 首先,下载相关软件: 这里选择了BCompare: http://www.scootersoftwa ...