我正在使用 Angular JS 的 ui-grid 来显示一些 json(特别是 geojson)信息。我正在使用可扩展的网格来列出额外的元数据。我正在使用的 json 设置如下:
{
"type": "FeatureCollection",
"totalFeatures": 36,
"features": [{
"type": "Feature",
"id": "someid",
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[-71.62599996, 41.250999959999994],
[-71.49899628, 41.250999959999994],
[-71.49899628, 41.12399619],
[-71.62599996, 41.12399619],
[-71.62599996, 41.250999959999994]
]
]
]
},
"geometry_name": "the_geom",
"properties": {
"QUAD_NAME": "Block Island",
"STATE": "RI",
"ACQYEAR": "2010",
"RESOLUTION": "1 Meter",
"FILMTYPE": "Color",
"TILE": "sometile",
"X1": -71.626,
"Y1": 41.124,
"X2": -71.499,
"Y2": 41.251
}
}
我想在子网格中显示上面的属性对象。
ui-grid可扩展网格示例使用这个 json,它是一个密钥对对象数组,而我的只是一个带有子属性的 javascript 对象。作为一个新的 javascript 编码器,我不明白如何告诉 ui-grid 而只是查看我给它的定义的属性对象。
下面是相关代码:
$scope.gridOptions = {
expandableRowTemplate: 'app/map/expandableRowTemplate.html',
expandableRowHeight: 150,
enableGridMenu: true,
enableRowSelection: true,
enableSelectAll: true,
selectionRowHeaderWidth: 35,
expandableRowScope: {
subGridVariable: 'subGridScopeVariable'
}
};
$scope.gridOptions.columnDefs = [{
name: 'id',
}];
$scope.gridOptions.multiSelect = true;
$http.get('/assets/rhode.json')
.success(function(data) {
//var items = data.features;
for (var i = 0; i < data.features.length; i++) {
data.features[i].subGridOptions = {
columnDefs: [{
name: 'QUAD_NAME',
// field: 'QUAD_NAME'
}, {
field: 'ACQYEAR',
// field: 'ACQYEAR'
}],
data: data.features[i].properties
}
}
$scope.gridOptions.data = data.features;
});