jQuery學習之:jqGrid表格外掛——第一個Demo
應用中經常會遇到向使用者展示資訊的情況。我們可以自己通過<table>標籤來實現。在此介紹另一種方法:通過jQuery的外掛來實現資訊的展示以及對資料的操作等功能。
在網上,關於jQuery的表格外掛有不少。其中有幾款做的很好,比如:flexiGrid和jqGrid。不過flexGrid網上的資料很少,官方文件不全。而jqGrid的官方文件卻相當的全面。官方文件網址:http://www.trirand.com/jqgridwiki /doku.php?id=wiki:jqgriddocs。
學習任何一項技術,第一個例子相當的重要,如果第一個例子都不能執行成功,那接下來的學習將是相當的困難,甚至沒法進行下去。所以,在此先實現第一個例子,希望對剛剛接觸jqGrid的人有所幫助。
jqGrid獲得資料的方式有多種,包括xml和JSON等。第一個例子,我使用了更簡單的方式,即Array方式。之後的例子會用json從伺服器端獲得資料。本例子沒有從跟後臺互動。
本例子的效果如下:
列出關鍵程式碼:
HTML程式碼:
<link id=”uiThemes” rel=”stylesheet” type=”text/css” media=”screen” href=”styles/themes/redmond/jquery-ui-1.7.2.custom.css” />
<link rel=”stylesheet” type=”text/css” media=”screen” href=”styles/themes/ui.jqgrid.css” />
<!— 引入jQuery —>
<script type=”text/javascript” src=”scripts/jQuery/jquery-1.3.2.js”></script>
<script src=”scripts/jQuery/plugins/jquery-ui-1.7.2.custom.min.js” type=”text/javascript”></script>
<script src=”scripts/jQuery/plugins/grid.locale-zh_CN.js” type=”text/javascript”></script>
<script src=”scripts/jQuery/plugins/jquery.jqGrid.min.js” type=”text/javascript”></script>
…
<body>
<table id=”gridTable”></table>
<div id=”gridPager”></div>
</body>
<link rel=”stylesheet” type=”text/css” media=”screen” href=”styles/themes/ui.jqgrid.css” />
<!— 引入jQuery —>
<script type=”text/javascript” src=”scripts/jQuery/jquery-1.3.2.js”></script>
<script src=”scripts/jQuery/plugins/jquery-ui-1.7.2.custom.min.js” type=”text/javascript”></script>
<script src=”scripts/jQuery/plugins/grid.locale-zh_CN.js” type=”text/javascript”></script>
<script src=”scripts/jQuery/plugins/jquery.jqGrid.min.js” type=”text/javascript”></script>
…
<body>
<table id=”gridTable”></table>
<div id=”gridPager”></div>
</body>
因為jqGrid3.6整合了jQuery UI,所以,此處需要匯入UI相關js和css。另外,grid.locale-zh_CN.js這個國際化檔案是自己翻譯的,因為官方網站沒有中文的國際化檔案(官方提供了很多中語言的國際化檔案,但是沒有提供中文的,什麼意思嘛!)。另外,這個檔案必須在jquery.jqGrid.min.js之前匯入,否則會出問題。
javascript程式碼:
$(function()
{
$(“#gridTable”).jqGrid({
datatype: “local”,
height: 250,
colNames:[`編號`,`使用者名稱`, `性別`, `郵箱`, `QQ`,`手機號`,`出生日期`],
colModel:[
{name:`id`,index:`id`, width:60, sorttype:“int”},
{name:`userName`,index:`userName`, width:90},
{name:`gender`,index:`gender`, width:90},
{name:`email`,index:`email`, width:125,sorttype:“string”},
{name:`QQ`,index:`QQ`, width:100},
{name:`mobilePhone`,index:`mobilePhone`, width:120},
{name:`birthday`,index:`birthday`, width:100, sorttype:“date”}
],
sortname:`id`,
sortorder:`asc`,
viewrecords:true,
rowNum:10,
rowList:[10,20,30],
pager:“#gridPager”,
caption: “第一個jqGrid例子”
}).navGrid(`#pager2`,{edit:false,add:false,del:false});
var mydata = [
{id:“1”,userName:“polaris”,gender:“男”,email:“fef@163.com”,QQ:“33334444”,mobilePhone:“13223423424”,birthday:“1985-10-01”},
{id:“2”,userName:“李四”,gender:“女”,email:“faf@gmail.com”,QQ:“222222222”,mobilePhone:“13223423”,birthday:“1986-07-01”},
{id:“3”,userName:“王五”,gender:“男”,email:“fae@163.com”,QQ:“99999999”,mobilePhone:“1322342342”,birthday:“1985-10-01”},
{id:“4”,userName:“馬六”,gender:“女”,email:“aaaa@gmail.com”,QQ:“23333333”,mobilePhone:“132234662”,birthday:“1987-05-01”},
{id:“5”,userName:“趙錢”,gender:“男”,email:“4fja@gmail.com”,QQ:“22222222”,mobilePhone:“1343434662”,birthday:“1982-10-01”},
{id:“6”,userName:“小毛”,gender:“男”,email:“ahfi@yahoo.com”,QQ:“4333333”,mobilePhone:“1328884662”,birthday:“1987-12-01”},
{id:“7”,userName:“小李”,gender:“女”,email:“note@sina.com”,QQ:“21122323”,mobilePhone:“13220046620”,birthday:“1985-10-01”},
{id:“8”,userName:“小三”,gender:“男”,email:“oefh@sohu.com”,QQ:“242424366”,mobilePhone:“1327734662”,birthday:“1988-12-01”},
{id:“9”,userName:“孫先”,gender:“男”,email:“76454533@qq.com”,QQ:“76454533”,mobilePhone:“132290062”,birthday:“1989-11-21”}
];
for(var i=0;i<=mydata.length;i++)
jQuery(“#gridTable”).jqGrid(`addRowData`,i+1,mydata[i]);
});
{
$(“#gridTable”).jqGrid({
datatype: “local”,
height: 250,
colNames:[`編號`,`使用者名稱`, `性別`, `郵箱`, `QQ`,`手機號`,`出生日期`],
colModel:[
{name:`id`,index:`id`, width:60, sorttype:“int”},
{name:`userName`,index:`userName`, width:90},
{name:`gender`,index:`gender`, width:90},
{name:`email`,index:`email`, width:125,sorttype:“string”},
{name:`QQ`,index:`QQ`, width:100},
{name:`mobilePhone`,index:`mobilePhone`, width:120},
{name:`birthday`,index:`birthday`, width:100, sorttype:“date”}
],
sortname:`id`,
sortorder:`asc`,
viewrecords:true,
rowNum:10,
rowList:[10,20,30],
pager:“#gridPager”,
caption: “第一個jqGrid例子”
}).navGrid(`#pager2`,{edit:false,add:false,del:false});
var mydata = [
{id:“1”,userName:“polaris”,gender:“男”,email:“fef@163.com”,QQ:“33334444”,mobilePhone:“13223423424”,birthday:“1985-10-01”},
{id:“2”,userName:“李四”,gender:“女”,email:“faf@gmail.com”,QQ:“222222222”,mobilePhone:“13223423”,birthday:“1986-07-01”},
{id:“3”,userName:“王五”,gender:“男”,email:“fae@163.com”,QQ:“99999999”,mobilePhone:“1322342342”,birthday:“1985-10-01”},
{id:“4”,userName:“馬六”,gender:“女”,email:“aaaa@gmail.com”,QQ:“23333333”,mobilePhone:“132234662”,birthday:“1987-05-01”},
{id:“5”,userName:“趙錢”,gender:“男”,email:“4fja@gmail.com”,QQ:“22222222”,mobilePhone:“1343434662”,birthday:“1982-10-01”},
{id:“6”,userName:“小毛”,gender:“男”,email:“ahfi@yahoo.com”,QQ:“4333333”,mobilePhone:“1328884662”,birthday:“1987-12-01”},
{id:“7”,userName:“小李”,gender:“女”,email:“note@sina.com”,QQ:“21122323”,mobilePhone:“13220046620”,birthday:“1985-10-01”},
{id:“8”,userName:“小三”,gender:“男”,email:“oefh@sohu.com”,QQ:“242424366”,mobilePhone:“1327734662”,birthday:“1988-12-01”},
{id:“9”,userName:“孫先”,gender:“男”,email:“76454533@qq.com”,QQ:“76454533”,mobilePhone:“132290062”,birthday:“1989-11-21”}
];
for(var i=0;i<=mydata.length;i++)
jQuery(“#gridTable”).jqGrid(`addRowData`,i+1,mydata[i]);
});
可以看出,jqGrid的使用是:$(“#tableId”).jqGrid(optional);其中,optional是一個物件,有很多屬性,具體什麼含義,怎麼配置,之後的文章我會介紹,也可以在官方網站找到詳細的介紹。
jsp/Servlet整合jqGrid、Struts2整合jqGrid請關注本人之後的部落格文章。
由於很多人問我要例子的原始碼,polaris也都發給了大家,然而有時候很晚才看到,發的會有點晚。鑑於此,特提供下載polaris的jqGrid的例子程式碼,謝謝大家的支援!
可以到:http://www.beijixing001.com/?p=406文章結尾下載我的例子程式碼。
本文轉自polaris1119 51CTO部落格,原文連結:http://blog.51cto.com/polaris/259336,如需轉載請自行聯絡原作者
相關文章
- 15 個最佳的 jQuery 表格外掛jQuery
- jQuery網格外掛 ParamQueryjQueryMQ
- 25個頂級的jQuery表格外掛jQuery
- 20個非常有用的jQuery表格外掛jQuery
- jQuery外掛:jqGrid使用(二)jQuery
- jQuery外掛:jqGrid使用(一)jQuery
- 25款頂級的jQuery表格外掛jQuery
- jQuery外掛:jqGrid引入及基本屬性jQuery
- JavaScript表格外掛庫JavaScript
- jquery學習第一天jQuery
- 10 個 jQuery 圖表外掛推薦jQuery
- jQuery原始碼學習之$()jQuery原始碼
- lua入門之環境搭建、第一個demo
- 【轉】NO.2、Appium之IOS第一個demoAPPiOS
- 推薦分享27個jQuery表單外掛jQuery
- 分享10個最好的jQuery表單外掛jQuery
- 學習demo
- DataTables表格外掛使用說明
- jQuery表單外掛jQuery.formjQueryORM
- jQuery原始碼學習之eventjQuery原始碼
- jQuery原始碼學習之extendjQuery原始碼
- wasm 學習筆記,寫個求和demoASM筆記
- rails跑通第一個demoAI
- jQuery 表單驗證 學習手記jQuery
- jquery學習之重要知識點jQuery
- Oracle 商務智慧電子表格外掛Oracle
- RabbitMQ學習之(四)_PHP操作RabbitMQ簡單DemoMQPHP
- 【JavaScript】第一個Demo和一個問題JavaScript
- Laravel學習筆記之Demo2——用Ajax來做個ToDoList(待更新)Laravel筆記
- Go學習【02】:理解Gin,搭一個web demoGoWeb
- 第一個JavaScript的例子學習JavaScript
- Jquery學習jQuery
- 240個jquery外掛(轉)jQuery
- 200個jquery外掛jQuery
- JQuery 導航外掛和圖表jQuery
- QT學習小demo之LightMD(MarkDown編輯器)QT
- jquery複習之路---常用外掛jQuery
- 15個構建互動式圖表的最佳 jQuery 外掛jQuery