一、参考资料

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代码

<?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>
三、代码

Flexigrid部分代码代码

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

Test.js代码

$(function() {
$("#flex").flexigrid({
url : 'all.action',
dataType : 'json',
colModel : [{
display : 'ID',
name : 'id',
width : ,// 得加上 要不IE报错
sortable : true,
align : 'center'
}, {
display : '商品名称',
name : 'name',
width : ,
sortable : true,
align : 'center'
}, {
display : '标准',
name : 'stand',
width : ,
sortable : true,
align : 'center'
}, {
display : '单价',
name : 'money',
width : ,
sortable : true,
align : 'center'
}, {
display : '库存',
name : 'leavings',
width : ,
sortable : true,
align : 'center'
}, {
display : '已经订购',
name : 'orders',
width : ,
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 : ,
showTableToggleBtn : true,
width : ,
height :
});
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 == ) {
alert('请选择一条记录!');
return;
}
if (selected_count > ) {
alert('抱歉只能同时修改一条记录!');
return;
}
data = new Array();
$('.trSelected td', grid).each(function(i) {
data[i] = $(this).children('div').text();
});
$('#savegoods input[name="id"]').val(data[]).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[]);
$('#savegoods input[name="stand"]').val(data[]);
$('#savegoods input[name="money"]').val(data[]);
$('#savegoods input[name="leavings"]').val(data[]);
$('#savegoods input[name="orders"]').val(data[]); actions="modify.action"; $("#goods").jqmShow();
break;
case '删除' :
selected_count = $('.trSelected', grid).length;
if (selected_count == ) {
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 : // 遮罩程度%
// 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();
}
});
})
});

Index.jsp代码

<!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="" border="" align="center"
cellpadding="" cellspacing="">
<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>
四、部分效果图

蓝色皮肤

蓝色皮肤下的修改

灰色皮肤

灰色皮肤下的修改

获取选中的那行的第一列。代码如下:

		$('#subUsers').each(function () {
id = $('.trSelected').children('td').eq(0).children('div').html();
});

Flexigrid-Web2.0 jQuery的更多相关文章

  1. MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查

    MVC3+EF5.0 code first+Flexigrid+ajax请求+jquery dialog 增删改查 本文的目的:   1.MVC3项目简单配置EF code first生成并初始化数据 ...

  2. 多个精美的导航样式web2.0源码

    效果体验:http://keleyi.com/keleyi/phtml/divcss/6.htm 兼容多浏览器,例如IE,Chrome,火狐 等. 完整代码,保存到htm文件打开也可以查看效果: &l ...

  3. Web1.0、Web2.0、Web3.0的主要区别

    Web1.0:以静态.单向阅读为主,网站内信息可以直接和其他网站信息进行交互,能通过第三方信息平台同时对多家网站信息进行整合使用. Web2.0:以分享为特征的实时网络,用户在互联网上拥有自己的数据, ...

  4. web2.0、互联网+、IT时代与DT时代、工业4.0 引发的思考

    最近忙着找实习,来学校一个星期还没到,就感觉已经经历了几个春秋. 第一个实习面试是个杭州互联网小公司,面WEB前端开发实习,怪我一个暑假两个月一点书都没碰,偏偏赶上G20到9/9才开学,没啥准备就一头 ...

  5. (转)Web2.0 大型互联网站点的架构

    这种资料.向来可遇不可求啊 WikiPedia 技术架构学习分享 http://www.dbanotes.net/opensource/wikipedia_arch.html YouTube 的架构扩 ...

  6. web2.0最全的国外API应用集合

    web2.0最全的国外API应用集合 原文地址:http://www.buguat.com/post/98.html 2.0时代,越来越多的API被大家广泛应用,如果你还不了解API是何物,请看这里的 ...

  7. web2.0的几个开源项目

    web2.0的几个开源项目   Diggclone-开源digg类程序官方:http://www.talkingpixels.org/diggclone/index.php演示:同digg.com类似 ...

  8. 解决CentOS无法显示中文字体 | 系统运维 | Web2.0

    解决CentOS无法显示中文字体 | 系统运维 | Web2.0 About Me    博客园    devops    前端    张家港水蜜桃 傍晚好! 2013年09月12日 17:56:08 ...

  9. 基于 Dojo toolkit 实现 web2.0 的 MVC 模式

    前言 MVC 模式是设计模式中的经典模式,它可以有效的分离数据层,展示层,和业务逻辑层.Web2.0 技术由于其良好的用户体验被广泛应用于 WEB 应用的展示层.但是在传统的 web 开发中,展示层的 ...

  10. Web2.0应用程序的7条原则

    个人看好Web的发展潜力,本文字摘自<Collective Intelligence 实战> 网络是平台 使用传统许可模式软件的公司或用户必须运行软件.定期更新至最新版本,以及扩展它来满足 ...

随机推荐

  1. bug report

    ubuntu 11.10添加eth0:1后重启网卡不显示 eth0:1 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324306

  2. 关于深度学习(deep learning)的常见疑问 --- 谷歌大脑科学家 Caffe缔造者 贾扬清

    问答环节 问:在finetuning的时候,新问题的图像大小不同于pretraining的图像大小,只能缩放到同样的大小吗?" 答:对的:) 问:目前dl在时序序列分析中的进展如何?研究思路 ...

  3. Moodle通过CLI安装

    Moodle通过CLI安装 前提:Moodle准备工作已经完成 1) 数据库(及用户) 2) moodledata目录 3) 源代码及站点配置 安装过程 打开终端,或通过Putty或Xshell等软件 ...

  4. 编译skia静态库时,图片解码库无法注册的问题

    转载:http://www.cnblogs.com/imlucky/archive/2012/08/01/2617851.html 今天编译skia库,增加图片解码库时总是无效.按照此博客的方法修改后 ...

  5. [洛谷P1338] 末日的传说

    洛谷题目链接:末日的传说 题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡, ...

  6. [Luogu 3966] TJOI 2013 单词

    经典ACAM. 注意单词之间添加字符,以及对重复单词的处理. #include <cstdio> #include <cstring> #include <queue&g ...

  7. 【bzoj1774-过路费】floyd+排序

    题意:n个点,m条双向边,每个点有权值c[i],每条边有权值a[i].d,一条路径的费用=每条边的权值和+各个点的权值的最大值,即sigma(a[i].d)+max(c[i]).q个询问,问x到y的最 ...

  8. hdu 2157 How many ways?? ——矩阵十题第八题

    Problem Description 春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, ...

  9. MySQL数据库运行环境的搭建

    第一步:安装wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b文件,安装过程中可能会遇到问题,把遇到的问题代码复制粘贴到360人工服务,查找方案 ...

  10. Vuejs - 工欲善其事必先利其器

    既然是实战,怎离不开项目开发的环境呢?先给大家推荐下我的个人开发环境: 硬件设备:Mac OSX编译器:Visual Studio Code命令行工具:iTerm2调试工具:Chrome Dev to ...