2011-01-19 89 views
5

我有一組數據,如下面的例子,我想加載到網格中。但是,我不知道該怎麼做,因爲這些數據沒有名稱。jqgrid加載陣列數據

[[48803,"DSK1","","02200220","OPEN"],[48769,"APPR","","77733337","ENTERED"]] 

回答

4

你需要的就是使用以下localReader

localReader: { 
    repeatitems: true, 
    cell: "", 
    id: 0 
} 

我爲你the demo這表明活它是如何工作取得了哪些。

已更新:我怎麼能發現現實並不如the documentation。的localReader的使用可以幫助您填寫電網包含從data參數與自定義結構數據,但jqGrid的另一部分:本地排序和搜索不data參數的這種結構正常運行的。我把它解釋爲一個錯誤。作爲一個務實的解決方案,我建議您到您的自定義數據轉換爲命名對象的數組像

[{id:48803,col2:"DSK1",col3:"",col4:"02200220",col5:"OPEN"}, 
{id:48769,col2:"APPR",col3:"",col4:"77733337",col5:"ENTERED"}] 

與名稱對應於colModel的列名。如果您在表單中使用data參數,那麼jqGrid中的所有內容都可以正常工作。

更新2:看看the fixed example的來源,這將清楚我的意思。在你的情況下,數據的轉換可在約以下

var myNewData = []; 
for (var i=0,l=mydata.length; i<l; i++) { 
    var d = mydata[i]; 
    myNewData.push({id:d[0],col2:d[1],col3:d[2],col4:d[3],col5:d[4]}); 
} 

的解決方案是不那麼優雅像localReader,但它沒有任何限制的工作。

+0

@CKeven:我發現了原始解決方案中的一些問題,並附加了我的答案和附加的固定演示示例。 – Oleg 2011-01-19 23:02:32

2

那麼,我不是很熟悉jqgrid,但你可以簡單地將你的數據分配給一個關聯數組,然後加載它。

這裏舉例:

http://jsfiddle.net/QWcrT/