gpt4 book ai didi

javascript - JqG​​rid 无法将 JSON 数据与 "dot"绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 16:10:38 24 4
gpt4 key购买 nike

我有一个来自服务器的 JSON 响应,我正在尝试将其绑定(bind)到 JQgrid。但是,响应是一个 JSON 字符串,对象名称中包含“点”。我无法让 JQGrid 使用“点”

这是我面临的问题的示例 fiddle http://jsfiddle.net/sharathchandramg/rpdfrb0L/2/

$("#grid").jqGrid({
data: data,
datatype: "local",
height: 250,
colNames: ['Name', 'Cluster', 'Location'],
colModel: [{
name: 'name',
width: 120
}, {
name: 'metrics.cluster.first.value',
width: 60,
jsonmap: function (obj) {

return obj.metrics['cluster.first'].value
}
}, {
name: 'metrics.location-latitude.value',
width: 60
}, ],
caption: "Example"
});

如 fiddle 所示,即使使用 jsonmap,我也无法绑定(bind)属性“cluster.first”。然而,如果属性名称是“位置纬度”,则网格工作正常。

让我知道我做错了什么。

最佳答案

原因很简单。在 jqGrid 4.6 中使用 datatype: "local" 时,属性 jsonmap 将被忽略。我改变了 free jqGrid 中的行为(参见the wiki)。因此一种可能的解决方案是使用免费的 jqGrid 4.8 或更高版本而不是 jqGrid 4.6。

解决该问题的另一种更简单的方法是使用数据类型:“jsonstring”。您可以验证一下

$("#grid").jqGrid({
datastr: data,
datatype: "jsonstring",
height: "auto",
colNames: ['Name', 'Cluster', 'Location'],
colModel: [{
name: 'name',
width: 120
}, {
name: 'metrics_cluster_first_value',
width: 60,
jsonmap: function (obj) {
return obj.metrics['cluster.first'].value
}
}, {
name: 'metrics_location_latitude_value',
jsonmap: 'metrics.location-latitude.value',
width: 60
}],
caption: "Example"
});

参见http://jsfiddle.net/OlegKi/rpdfrb0L/5/ 。您还可以看到,我更改了所有 colModel 项的 name 属性,使其内部没有点。我建议始终遵守规则。

关于javascript - JqG​​rid 无法将 JSON 数据与 "dot"绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255044/

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