【发布时间】:2017-06-21 01:06:23
【问题描述】:
我想用下面的json组成一个jqgrid,下面的json可能会经常变化。
{"行值":[ { “公司”:“测试”, “价格”:98, “变化”:8, “交换”:8, "上次更新时间": "2", “公司编号”:2 }, { “公司”:“test123”, “价格”:1, “变化”:1、 “交换”:1, "上次更新时间": "1", “公司编号”:3 }, { “公司”:“ABC”, “价格”:1234, “变化”:123, “交换”:1, "上次更新时间": "1", “公司编号”:1 } ]}
这是我的代码:
$("#table_div"+chartId).empty().jqGrid({
datatype:'json',
data: data,
jsonReader: {
repeatitems: false,
},
colNames: getColNames(data),
colModel: getColModels(data),
rowNum:50,
rowList: [50, 100, 150, 200],
autowidth: true,
height: '100%',
shrinkToFit: false,
gridview: true,
autoencode: true,
sortorder: "asc",
viewrecords: true,
ignoreCase: true,
hoverrows: true,
caption: title
});
function getColNames(data) {
var keys = [];
for(var i=0;i<data.rowValue.length;i++){
for(var key in data.rowValue[i]) {
if (data.rowValue[i].hasOwnProperty(key)) {
keys.push(key);
}
}
break;
}
return keys;}
function getColModels(data) {
var colNames= getColNames(data);
var colModelsArray = [];
for (var i = 0; i < data.rowValue.length; i++) {
var str;
if (i === 0) {
str = {
name: colNames[i],
index:colNames[i],
key:true,
editable:true
};
} else {
str = {
name: colNames[i],
index:colNames[i],
editable:true
};
}
colModelsArray.push(str);
}
console.log(colModelsArray)
return colModelsArray;}
无论如何,我都能成功获得列。但我在获取 colmodels 时遇到了问题。 我是javascript的新手。任何帮助,将不胜感激。 注意:rowValue 会动态变化 提前致谢!!
【问题讨论】:
标签: javascript jquery json jqgrid