星期日, 9月 28, 2008

利用array建立jqGrid

官方的example裡有寫
http://trirand.com/jqgrid/jqgrid.html
進入「Loading Data」就會看見Array Data
API說明:Array Data章節

1.plugin參數設定
datatype要設為"clientSide" //或是local
jQuery("#list4").jqGrid({ 
    datatype: "local", 
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
    colModel:[ 
        {name:'id',index:'id', width:60, sorttype:"int"},  
        {name:'invdate',index:'invdate', width:90, sorttype:"date"},   
        ...
        {name:'note',index:'note', width:150, sortable:false} 
    ], 
    ...

2.陣列宣告
配合colModel的欄位名稱設定
var mydata = [ 
    {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},     \
    {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
    {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}
]; 

3.再一個個加入jgGrid
for(var i=0;i<=mydata.length;i++) 
    jQuery("#list4").addRowData(i+1,mydata[i]); 

4.其他資料
Related options in options array: datatype
Related options in colModel: sorttype, datefmt
Related methods : getRowData, delRowData, setRowData, addRowData

要清除Grid所有資料可下 clearGridData()

4 則留言:

Yummy Chen 提到...

請問您知道jqGrid要怎麼得到grid的全部資料嗎?例如我如果要把這個grid edit後再submit到server
Thanks.

fishjerky 提到...

你可以在設定jqgrid那兒插入這事件
當選到要編輯時,可以得id
(範例在jQuery官網上Demo的Row Editing的Using Events)
用id就可以得到row
onSelectRow: function(id){
var ret = jQuery("#list5").getRowData(id);
}
那個ret變數應該是你要的東西吧

以上程式沒實際跑過
純手寫的...不能動的話不要打我 哈

匿名 提到...

我用官方的貼了,不能動 。(攤手)

fishjerky 提到...

我之前也有掛掉過
可能是3.5之後設定的問題
參考這篇看看
http://kevyu.blogspot.tw/2009/09/jqgrid-35.html