jqGrid入門


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM