gpt4 book ai didi

javascript - 如何在JqGrid中动态绑定(bind)行和列?

转载 作者:行者123 更新时间:2023-11-28 04:30:21 27 4
gpt4 key购买 nike

我想使用下面的 JSON 形成一个 JqGrid,下面的 JSON 可能会经常更改。

{
"rowvalue": [
{
"company": "test",
"price": 98,
"Change": 8,
"perchange": 8,
"LastUpdated": "2",
"companyid": 2
},
{
"company": "test123",
"price": 1,
"Change": 1,
"perchange": 1,
"LastUpdated": "1",
"companyid": 3
},
{
"company": "abc",
"price": 1234,
"Change": 123,
"perchange": 1,
"LastUpdated": "1",
"companyid": 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 将动态更改

提前致谢!

最佳答案

---- 列名 -----var colName = Object.keys(data["rowvalue"][0]);

---- ColModel ----
var colModel = [];
for(var i=0; i<colName.length; i++) {
var tempColModel = {};
tempColModel["name"] = colName[i];
tempColModel["id"] = colName[i];
tempColModel["width"] = 90;
colModel.push(tempColModel);
}

请根据您的情况在 ColModel 中添加其余属性。

关于javascript - 如何在JqGrid中动态绑定(bind)行和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44665293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com