flexigrid
一、参考资料
1、jQuery插件flexiGrid的完全使用,附代码下载
2、修改flexigrid源码一(json,checkbox)[原创]
3、jQuery +UI + flexigrid做的一个用户管理界面
4、ASP.NET MVC Flexigrid sample
5、基于jQuery的GridView-FlexiGrid的使用和改造(1)--如何使用,完全参数说明
6、官方网站
二、说明
本文是在参考了以上内容后写出的,引用了相关代码。如有侵权,请与我联系。
自己整理了2套皮肤。
附件为eclipse工程文件,带数据库文件,导入相关sql,修改配置文件就能运行。
注意:部署的时候下面的一个文件:.mymetadata这个里面关系到这个项目的名称,由于我是直接拷贝的/gtgrid_LianDong这个项目,所以导致了名字不是flexigrid,请自行修改,
- <?xml version="1.0" encoding="UTF-8"?>
- <project-module
- type="WEB"
- name="flexigrid"
- id="myeclipse.1267149904578"
- context-root="<span style="color: #ff0000;">/gtgrid_LianDong</span>"
- j2ee-spec="1.4"
- archive="flexigrid.war">
- <attributes>
- <attribute name="webrootdir" value="WebRoot" />
- </attributes>
- </project-module>
三、代码
- if (t.grid)
- return false; // return if already exist
- // apply default properties
- p = $.extend({
- height : 200, // flexigrid插件的高度,单位为px
- width : 'auto', // 宽度值,auto表示根据每列的宽度自动计算
- striped : true, // 是否显示斑纹效果,默认是奇偶交互的形式
- novstripe : false,
- minwidth : 30, // 列的最小宽度
- minheight : 80, // 列的最小高度
- resizable : true, // 是否可伸缩
- url : false, // ajax方式对应的url地址
- method : 'POST', // 数据发送方式
- dataType : 'xml', // 数据加载的类型
- checkbox : false,// 是否要多选框
- errormsg : '连接错误!',// 错误提示信息
- usepager : false, // 是否分页
- nowrap : true, // 是否不换行
- page : 1, // 默认当前页
- total : 1, // 总页面数
- useRp : true, // 是否可以动态设置每页显示的结果数
- rp : 15, // 每页默认的结果数
- rpOptions : [5,10, 15, 20, 25, 30, 40],// 可选择设定的每页结果数
- title : false,// 是否包含标题
- pagestat : '显示第 {from} 条到 {to} 条,共 {total} 条数据',// 显示当前页和总页面的样式
- procmsg : '正在处理,请稍候 ...',// 正在处理的提示信息
- query : '',// 搜索查询的条件
- qtype : '',// 搜索查询的类别
- nomsg : '没有数据存在!',// 无结果的提示信息
- minColToggle : 1, // 允许显示的最小列数
- showToggleBtn : true, // 是否允许显示隐藏列,该属性有bug设置成false点击头脚本报错
- hideOnSubmit : true,// 隐藏提交
- autoload : true,// 自动加载
- blockOpacity : 0.5,// 透明度设置
- onToggleCol : false,// 当在行之间转换时,可在此方法中重写默认实现,基本无用
- onChangeSort : false,// 当改变排序时,可在此方法中重写默认实现,自行实现客户端排序
- onSuccess : false,// 成功后执行
- onSubmit : false
- // 调用自定义的计算函数
- }, p);
- $(function() {
- $("#flex").flexigrid({
- url : 'all.action',
- dataType : 'json',
- colModel : [{
- display : 'ID',
- name : 'id',
- width : 50,// 得加上 要不IE报错
- sortable : true,
- align : 'center'
- }, {
- display : '商品名称',
- name : 'name',
- width : 100,
- sortable : true,
- align : 'center'
- }, {
- display : '标准',
- name : 'stand',
- width : 100,
- sortable : true,
- align : 'center'
- }, {
- display : '单价',
- name : 'money',
- width : 100,
- sortable : true,
- align : 'center'
- }, {
- display : '库存',
- name : 'leavings',
- width : 100,
- sortable : true,
- align : 'center'
- }, {
- display : '已经订购',
- name : 'orders',
- width : 100,
- sortable : true,
- align : 'center'
- }],
- buttons : [{
- name : '添加',
- bclass : 'add',
- onpress : action
- }, {
- // 设置分割线
- separator : true
- }, {
- name : '删除',
- bclass : 'delete',
- onpress : action
- }, {
- separator : true
- }, {
- name : '修改',
- bclass : 'edit',
- onpress : action
- }, {
- separator : true
- }],
- // searchitems : [{
- // display : 'ID',
- // name : 'id',
- // isdefault : true
- // }, {
- // display : '库存',
- // name : 'leavings'
- // }],
- sortname : "id",
- sortorder : "asc",
- usepager : true,
- title : '商品信息',
- useRp : true,
- checkbox : true,// 是否要多选框
- rowId : 'id',// 多选框绑定行的id
- rp : 10,
- showTableToggleBtn : true,
- width : 700,
- height : 263
- });
- var actions="";
- function action(com, grid) {
- switch (com) {
- case '添加' :
- $("#savegoods input[type='text']").each(function() {
- $(this).val("");
- });
- $('#savegoods input[name="id"]').removeAttr("<span style="font-family: 'Courier New', monospace;">disabled<span style="font-family: Verdana, Arial, Helvetica, sans-serif;">");</span></span>
- $('#savegoods').attr("action","add.action");
- actions="add.action";
- $("#goods").jqmShow();
- break;
- case '修改' :
- selected_count = $('.trSelected', grid).length;
- if (selected_count == 0) {
- alert('请选择一条记录!');
- return;
- }
- if (selected_count > 1) {
- alert('抱歉只能同时修改一条记录!');
- return;
- }
- data = new Array();
- $('.trSelected td', grid).each(function(i) {
- data[i] = $(this).children('div').text();
- });
- $('#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>
- $('#savegoods input[name="name"]').val(data[1]);
- $('#savegoods input[name="stand"]').val(data[2]);
- $('#savegoods input[name="money"]').val(data[3]);
- $('#savegoods input[name="leavings"]').val(data[4]);
- $('#savegoods input[name="orders"]').val(data[5]);
- actions="modify.action";
- $("#goods").jqmShow();
- break;
- case '删除' :
- selected_count = $('.trSelected', grid).length;
- if (selected_count == 0) {
- alert('请选择一条记录!');
- return;
- }
- names = '';
- $('.trSelected td:nth-child(3) div', grid).each(function(i) {
- if (i)
- names += ',';
- names += $(this).text();
- });
- ids = '';
- $('.trSelected td:nth-child(2) div', grid).each(function(i) {
- if (i)
- ids += ',';
- ids += $(this).text();
- })
- if (confirm("确定删除商品[" + names + "]?")) {
- delUser(ids);
- }
- break;
- }
- }
- $("#goods").jqm({
- // trigger : 'a.showDialog',// 触发
- // ajax: '@href',//ajax读取方式
- // ajaxText:'',//提示语言
- modal : true,// 限制输入(鼠标点击,按键)的对话
- overlay : 60 // 遮罩程度%
- // target : t,// 提示
- // onHide : function(h) {
- // // // t.html('Please Wait...'); // Clear Content HTML on Hide.
- // h.o.remove(); // remove overlay
- // // h.w.fadeOut(888); // hide window
- // }
- }).jqmAddClose('.close')// 添加触发关闭的selector
- .jqDrag('.drag');// 添加拖拽的selector
- function delUser(ids) {
- $.ajax({
- url : 'delete.action',
- data : {
- ids : ids
- },
- type : 'POST',
- dataType : 'json',
- success : function() {
- $('#flex').flexReload();//表格重载
- }
- });
- }
- $("#submit").click(function(){
- $.ajax({
- url : actions,
- data : $("#savegoods").serialize(),
- type : 'POST',
- dataType : 'json',
- success : function(data) {
- $("#goods").jqmHide();
- $('#flex').flexReload();
- }
- });
- })
- });
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <title>商品信息</title>
- <link rel="stylesheet" type="text/css"
- href="flexigrid_my/css/flexigrid_gray.css">
- <link rel="stylesheet" type="text/css"
- href="flexigrid_my/jqModal/css/jqModal_gray.css">
- <script type="text/javascript" src="flexigrid_my/jquery-1.3.2.min.js"></script>
- <script type="text/javascript" src="flexigrid_my/flexigrid.js"></script>
- <script type="text/javascript" src="flexigrid_my/jqModal/jqDnR.js"></script>
- <script type="text/javascript" src="flexigrid_my/jqModal/jqModal.js"></script>
- <script type="text/javascript" src="flexigrid_my/test.js"></script>
- </head>
- <body>
- <table id="flex" style="display: none"></table>
- <div class="jqmWindow" style="width: 300px;" id="goods">
- <div class="drag">
- 商品信息编辑
- <div class="close"></div>
- </div>
- <form id="savegoods" method="post">
- <table width="252" border="0" align="center"
- cellpadding="0" cellspacing="0">
- <tr>
- <td>ID:</td>
- <td><input type="text" name="id" ></td>
- </tr>
- <tr>
- <td>商品名称:</td>
- <td><input type="text" name="name"></td>
- </tr>
- <tr>
- <td>标准:</td>
- <td><input type="text" name="stand"></td>
- </tr>
- <tr>
- <td>单价:</td>
- <td><input type="text" name="money"></td>
- </tr>
- <tr>
- <td>库存:</td>
- <td><input type="text" name="leavings"></td>
- </tr>
- <tr>
- <td>已经订购:</td>
- <td><input type="text" name="orders"></td>
- </tr>
- </table>
- <div align="center">
- <input type="button" id="submit" class="input-button" value="提交" />
- <input type="reset" class="input-button" value="重置" />
- </div>
- </form>
- </div>
- </body>
- </html><span style="white-space: normal;"><strong>
- </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");
flexigrid的更多相关文章
- FlexiGrid 使用 全选、自动绑定
1.介绍 Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid.它具有的功能包括:可以调整列宽,合并列标题,分页,排序,显示/隐藏表格等.Flexigrid显示的数据能够通 ...
- Flexigrid从对象中加载数据
(有问题,在找…………) Flexigrid是用来动态加载数据的一种比较好(老)的Jquery表插件,然后有些时候,我们需要其从本地或者jQuery对象中加载数据,比如有这么个需求,页面显示中有两个表 ...
- 【jquery】flexiGrid新增功能的方式
到目前为止,我用过的jquery表格插件只有jqGrid和flexiGrid.今天,只说后者. 关于参数配置,使用方法,博客园文章很多. 原生的flexiGrid架包不大,内容可以扩展,比如在每行数据 ...
- 【Jquery】【控件】flexigrid 自定义查询
最近用flexigrid作报表,需要自定义条件进行查询,界面如下: 翻了半天文档也没找到如何用POST方法自行传递参数进行查询. 找了一个台湾人写的博客,却要改flexigrid的源代码,更不靠谱. ...
- flexigrid扩展(添加全选,格式化表单)
1.关于flexigrid的属性这里不多说,百度一大把. 这里主要说一个参数process process参数:编写对某一列进行自定义处理的函数 function 方法名(tddiv,pid){}// ...
- flexigrid随手记
最近要用到flexigrid做表格,随手记一些知识点. 引入了两个jquery库(jquery.js和jquery-1.7.1.min.js),发生冲突,只保留一个 $("#gridTabl ...
- (转)flexigrid 参数说明
本文为转载 http://simple1024.iteye.com/blog/1171090 项目用到这玩意,像样的API都是英文的,英文不好,所以经过各种搜集,flexigrid就整理了这么多用得上 ...
- Flexigrid例子二: 原位编辑器
有时候,我们想要编辑flexigrid里的数据.一个原位编辑器是需要的,现在不需要再弹出一个对话框了.这里我会展示如何做到这点. 我使用了jquery-in-place-editor库.请参考官方站点 ...
- JQuery 插件FlexiGrid 之完全配置与使用
博客分类: Java综合 jQuery配置管理jsonServlet数据结构 自己再做这个的时候.也是找了很多资料..但网上搜索了很多资料. 没有介绍的很全的. 鄙人就在此献丑一下. 来全面的介绍一 ...
- Flexigrid在IE下不显示数据的处理
文章总结自我的论坛提问: http://bbs.csdn.net/topics/390498434?page=1#post-394918028 解决方法: 网上的答案经我验证都是不靠谱的,以后大家就知 ...
随机推荐
- hadoop---wordcount命令
[zznu@master file]$ hadoop jar ~/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2 ...
- 此 ObjectContext 实例已释放,不可再用于需要连接的操作
EF 查询包含导航属性的Model,经常会遇到 此 ObjectContext 实例已释放,不可再用于需要连接的操作 这种错误,解决方法如下: db.T_DailyRecord.Include(&qu ...
- DSO分类及应用
1.DSO的分类,标准DSO(生成主数据标识.对于相同关键字段的值进行合并.可直接出具报表).写优化的DSO(不生成主数据标识.不合并相同关键字段的值.速度快可用于存储大容量数据).直接写入的DSO, ...
- 高精度运算专题1-加法运算(The addition operation)
这个专题呢,我就来讲讲高精度的加法,下面是一个计算加法的函数(用数组a加上数组b结果存到数组c里面). 思路:先测一下数组a和数组b的长度,分别放到a[0].b[0]里面去,再从第二位开始相加,记得满 ...
- Nginx简单配置,部分来源于网络
nginx.conf listener监听端口 server_name监听域名 location{}是用来为匹配的 URI 进行配置,URI 即语法中的“/uri/”.location / { }匹 ...
- BatteryWarning 电池预警
MTK BatteryWarning 在mediatek/external/batterywarning下,会编译生成一个可执行文件:batterywraning main()函数中,会间断读取 /s ...
- maven入门(上)
Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...
- 34.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法 实现输出大写英文字母表的功能,
//接口InterfaceA package jieKou; public interface IInterfaceA { void printCapitalLetter(); } //接口Inter ...
- pt-heartbeat监控延时
测试国内主机到国外主机mysql的延时 主机 perl /usr/bin/pt-heartbeat -uroot --ask-pass -D uk --create-table --update ...
- pc打开手机站提示切换为手机屏幕
.turn { position: absolute; width: 100%; height: 100%; left:; top:; background: url(../images.png) c ...