中文幫助地址: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 (需要的可以幫着下載,不用積分)