Jqgrid之强大的表格插件应用


Posted in Javascript onDecember 02, 2015

jqGrid是一款基于jQuery的功能强大的表格插件,使用jqGrid可以轻松实现前端页面与后台数据进行ajax异步通信,jqGrid运行速度相当快,可以很好的应用在一些后台管理系统来管理大量数据的场合。

Jqgrid之强大的表格插件应用

jqGrid特性:

基于jquery UI主题,开发者可以根据客户要求更换不同的主题。
兼容目前所有流行的web浏览器。
Ajax分页,可以控制每页显示的记录数。
支持XML,JSON,数组形式的数据源。
提供丰富的选项配置及方法事件接口。
支持表格排序,支持拖动列、隐藏列。
支持滚动加载数据。
支持实时编辑保存数据内容。
支持子表格及树形表格。
支持多语言。
最关键目前是免费的。

如何使用jqGrid

1、首先,您需要到jqGrid官网下载最新版本的程序包,您可以从这里下载:http://www.trirand.com/blog/
2、在WEB目录下分别新建css和js两个文件夹,放置相关的css和js文件,创建一个index.html页面文件,用你喜欢的文本编辑器打开,录入一下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ 
xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Grid</title> 
<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.2.custom.css" /> 
<link rel="stylesheet" type="text/css" href="css/ui.jqgrid.css" /> 
<script src="js/jquery.js" type="text/javascript"></script> 
<script src="js/i18n/grid.locale-cn.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
</head> 
<body> 
... 
</body> 
</html>

3、在body中加入以下代码:

<table id="list"></table> 
<div id="pager"></div>

#list用来加载数据列表,#page用来显示分页条的。

4、调用jqGrid插件,在页面中加入如下js代码

$("#list").jqGrid({ 
  caption: '手机产品列表', 
  url:'server.php', 
  datatype: "json", 
    colNames:['编号','名称','主屏尺寸','操作系统','电池容量', '价格(¥)','操作'], 
    colModel:[ 
      {name:'sn',index:'sn', width:80,align:'center'}, 
      {name:'title',index:'title', width:180}, 
      {name:'size',index:'size', width:120}, 
    {name:'os',index:'os', width:120}, 
      {name:'charge',index:'charge', width:100,align:'center'}, 
    {name:'price',index:'price', width:80,align:'center'}, 
      {name:'opt',index:'opt', width:80, sortable:false, align:'center'}     
    ], 
    rowNum:10, 
    rowList:[10,20,30], 
    pager: '#pager', 
    sortname: 'id', 
  autowidth: true, 
  height:280, 
  viewrecords: true, 
  multiselect: true, 
  multiselectWidth: 25, 
  sortable:true, 
  sortorder: "asc" 
 });

这个时候我们预览index.html发现表格外形已经呈现,就差数据填充了。如果此时你还看不到任何效果,请检查你的文件路径是否正确。

5、加载数据。

我们采用php读取mysql数据,返回json格式的数据给jqGrid来显示数据。我们准备一张数据表用来记录手机产品信息,结构如下:

CREATE TABLE IF NOT EXISTS `products` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `sn` varchar(10) NOT NULL, 
 `title` varchar(60) NOT NULL, 
 `size` varchar(30) NOT NULL, 
 `os` varchar(50) NOT NULL, 
 `charge` varchar(50) DEFAULT NULL, 
 `screen` varchar(50) DEFAULT NULL, 
 `design` varchar(50) DEFAULT NULL, 
 `price` int(10) NOT NULL, 
 `addtime` datetime NOT NULL 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

接着,在server.php中读取数据,并输出json数据:

//连接数据库 
include_once ('connect.php'); 
$page = $_GET['page']; 
$limit = $_GET['rows']; 
$sidx = $_GET['sidx']; 
$sord = $_GET['sord']; 
if (!$sidx) 
  $sidx = 1; 
$result = mysql_query("SELECT COUNT(*) AS count FROM products where deleted=0"); 
$row = mysql_fetch_array($result, MYSQL_ASSOC); 
$count = $row['count']; 
if ($count > 0) { 
  $total_pages = ceil($count / $limit); 
} else { 
  $total_pages = 0; 
} 
if ($page > $total_pages) 
  $page = $total_pages; 
$start = $limit * $page - $limit; 
$SQL = "SELECT * FROM products WHERE deleted=0 ORDER BY $sidx $sord LIMIT $start , $limit"; 
$result = mysql_query($SQL) or die("Couldn t execute query." . mysql_error()); 
$responce->page = $page; 
$responce->total = $total_pages; 
$responce->records = $count; 
$i = 0; 
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
  $responce->rows[$i]['id'] = $row[id]; 
  $opt = "<a href='edit.php'>修改</a>"; 
  $responce->rows[$i]['cell'] = array ( 
    $row[sn], 
    $row[title], 
    $row[size], 
    $row[os], 
    $row[charge], 
    $row[price], 
    $opt 
  ); 
  $i++; 
} 
echo json_encode($responce);

至此,如果你往数据表中录入数据后,就可以在页面上显示数据表了,然后你可以排序、分页操作了。接下来我会将jqGrid的选项说明整理成文,分享给大家,然后从项目实际应用出发,举例讲解增加删除、查看、查找数据等业务的应用。

Javascript 相关文章推荐
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
Dec 09 Javascript
利用javascript的面向对象的特性实现限制试用期
Aug 04 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 Javascript
javascript正则表达式基础知识入门
Apr 20 Javascript
jQuery实现简单的图片查看器
Sep 11 Javascript
JavaScript制作简单的框选图表
May 15 Javascript
详解vue中引入stylus及报错解决方法
Sep 22 Javascript
详解Javascript中new()到底做了些什么?
Mar 29 Javascript
vue实现与安卓、IOS交互的方法
Nov 02 Javascript
微信小程序实现多选功能
Nov 04 Javascript
详解React 元素渲染
Jul 07 Javascript
谈谈JavaScript中的垃圾回收机制
Sep 17 Javascript
整理Javascript事件响应学习笔记
Dec 02 #Javascript
jqGrid表格应用之新增与删除数据附源码下载
Dec 02 #Javascript
通过点击jqgrid表格弹出需要的表格数据
Dec 02 #Javascript
原生JavaScript实现异步多文件上传
Dec 02 #Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 #Javascript
日常收藏的jquery技巧
Dec 02 #Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
Dec 02 #Javascript
You might like
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
js日期时间补零的小例子
2013/03/05 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
jQuery取消特定的click事件
2016/02/29 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
Python socket服务常用操作代码实例
2020/06/22 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
毕业研究生的自我鉴定
2013/11/30 职场文书
销售主管岗位职责范本
2014/02/14 职场文书
《观舞记》教学反思
2014/04/16 职场文书
护士实习求职信
2014/06/22 职场文书
2014年食堂工作总结
2014/11/20 职场文书
优秀党员事迹材料
2014/12/18 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers