2011-01-19 87 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/