中文帮助地址:http://blog.mn886.net/jqGrid/
jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信。
下面是按照demo调的页面
结构及页面效果:


index页面文件
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- jqGrid组件基础样式包-必要 --> <link rel="stylesheet" href="jqgrid/css/ui.jqgrid.css" /> <!-- jqGrid主题包-非必要 --> <!-- 在jqgrid/css/css这个目录下还有其他的主题包,可以尝试更换看效果 --> <link rel="stylesheet" href="jqgrid/css/css/redmond/jquery-ui-1.8.16.custom.css" /> <!-- jquery插件包-必要 --> <!-- 这个是所有jquery插件的基础,首先第一个引入 --> <script type="text/javascript" src="js/jquery-1.7.1.js"></script> <!-- jqGrid插件包-必要 --> <script type="text/javascript" src="jqgrid/js/jquery.jqGrid.src.js"></script> <!-- jqGrid插件的多语言包-非必要 --> <!-- 在jqgrid/js/i18n下还有其他的多语言包,可以尝试更换看效果 --> <script type="text/javascript" src="jqgrid/js/i18n/grid.locale-cn.js"></script> <title>jqGridDemo</title> <!-- 本页面初始化用到的js包,创建jqGrid的代码就在里面 --> <script type="text/javascript" src="js/index.js"></script> </head> <body> <table id="list2"></table> <div id="pager2"></div> <br> </body> </html>
index.js 文件
$(function(){ //页面加载完成之后执行 pageInit(); }); function pageInit() { //创建jqGrid组件 jQuery("#list2").jqGrid( { url: 'data/Data.json',//组件创建完成之后请求数据的url datatype: "json",//请求数据返回的类型。可选json,xml,txt colNames : [ 'ID', '姓名', '年龄', '性别', '地址','备注'],//jqGrid的列显示名字。不填写,colModel里面用label也可以 colModel: [ //jqGrid每一列的配置信息。包括名字,索引,宽度,对齐方式..... { name: 'id', label: "ID", index: 'id', width: 55, hidden: true,key:true }, { name: 'name', index: 'name asc, invdate', width: 90 }, { name: 'age', index: 'age', width: 100 }, { name : 'gender',width : 80,align : "right"}, { name: 'address', index: 'address', width: 80, align: "right" }, { name: 'remark', index: 'remark', width: 150, sortable: false } ], rowNum : 10,//一页显示多少条 rowList : [ 10, 20, 30 ],//可供用户选择一页显示多少条 pager : '#pager2',//表格页脚的占位符(一般是div)的id sortname : 'id',//初始化的时候排序的字段 sortorder : "desc",//排序方式,可选desc,asc mtype : "get",//向后台请求数据的ajax的类型。可选post,get viewrecords : true, caption : "表格头"//表格的标题名字 }); /*创建jqGrid的操作按钮容器*/ /*可以控制界面上增删改查的按钮是否显示*/ jQuery("#list2").jqGrid('navGrid', '#pager2', {edit : false,add : false,del : false}); }
json数据
{
"page": "1",
"total": 2,
"records": "13",
"rows": [
{
"id": "13",
"name": "孙杨",
"age": "20",
"gender": "男",
"address": "北京",
"remark": "备注"
},
{
"id": "12",
"name": "张燕",
"age": "20",
"gender": "女",
"address": "郑州",
"remark": "备注"
}
],
"userdata": {
"amount": 3220,
"tax": 342,
"total": 3564,
"name": "Totals:"
}
}
注意的地方:
1,demo请求用的是post方法,报405错误,方法不被允许。改成get方法了
2,json编码有问题。需要新建一个json文件
3,
控制的是分页处的按钮
扩展属性记录:
datatype: "json",//从服务器端返回的数据类型,默认xml。可选类型:xml,local,json,jsonnp,script,xmlstring,jsonstring,clientside mtype: "post",//ajax提交方式。POST或者GET,默认GET rowNum: 10, rowList: [10, 20, 30],//一个下拉选择框,用来改变显示记录数,当选择时会覆盖rowNum参数传递到后台 viewrecords: true,//定义是否要显示总记录数 altRows: true,//设置表格 zebra-striped(斑马条纹) 值 autowidth: true,//如果为ture时,则当表格在首次被创建时会根据父元素比例重新调整表格宽度。如果父元素宽度改变,为了使表格宽度能够自动调整则需要实现函数:setGridWidth height: 200,//表格高度,可以是数字,像素值或者百分比 width: "100%",//如果设置则按此设置为主,如果没有设置则按colModel中定义的宽度计算 multiselect: true,//定义是否可以多选 multiboxonly: true,//只有当multiselect = true.起作用,当multiboxonly 为ture时只有选择checkbox才会起作用 toolbar: [true, "top"],//表格的工具栏。数组中有两个值,第一个为是否启用,第二个指定工具栏位置(相对于body layer),如:[true,”both”] 。工具栏位置可选值:“top”,”bottom”, “both”. 如果工具栏在上面,则工具栏id为“t_”+表格id;如果在下面则为 “tb_”+表格id;如果只有一个工具栏则为 “t_”+表格id loadComplete: function () { },//当从服务器返回响应时执行,xhr:XMLHttpRequest 对象 caption:"表格名称",//表格名称 url:"http://XXX/XX",//获取数据的地址 postData:{id:1}//此数组内容直接赋值到url上,参数类型:{name1:value1…} colModel: [ { label: 'OrderID', name: 'OrderID', key: true, width: 75 }, { label: 'Customer ID', name: 'CustomerID', width: 150 }, { label: 'Order Date', name: 'OrderDate', width: 150 }, { label: 'Freight', name: 'Freight', width: 150 }, { label:'Ship Name', name: 'ShipName', width: 150 } ], //常用到的属性:name 列显示的名称;index 传到服务器端用来排序用的列名称;width 列宽度;align 对齐方式;sortable 是否可以排序
/*可以控制界面上增删改查的按钮是否显示 view查看所选记录*/
jQuery("#list2").jqGrid('navGrid', '#pager2', { edit: false, add: false, del: false, search: false, refresh: true, view: false });
rowNUm:-1 不需要分页
源码地址:http://download.csdn.net/download/believeys/10201004 (需要的可以帮着下载,不用积分)
