Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Angular 5将数组和嵌套json显示到Ag网格_Json_Angular_Ag Grid - Fatal编程技术网

使用Angular 5将数组和嵌套json显示到Ag网格

使用Angular 5将数组和嵌套json显示到Ag网格,json,angular,ag-grid,Json,Angular,Ag Grid,我有一个场景,使用angular 5绑定json的嵌套和数组以绑定ag网格。我尝试在colDefs行数据上使用valueGetter作为Json进行绑定。似乎什么都没有解决。我也看不到有文档的例子 这是我到现在为止的json和代码 Json: { "packages": [ { "packageId": 2, "name": "Name1", "isEnabled": true, "packageRegistrationTypes": [ { "registr

我有一个场景,使用angular 5绑定json的嵌套和数组以绑定ag网格。我尝试在colDefs行数据上使用valueGetter作为Json进行绑定。似乎什么都没有解决。我也看不到有文档的例子

这是我到现在为止的json和代码

Json:

{
"packages": [
{
  "packageId": 2,
  "name": "Name1",
  "isEnabled": true,
  "packageRegistrationTypes": [
    {
      "registrationType": {
        "registrationTypeId": 1,
        "description": "Reg1"
      },
      "isActive": true
    },
    {
      "registrationType": {
        "registrationTypeId": 45,
        "description": "Reg2"
      },
      "isActive": false
    }
  ]
 }
 ]
}
角度5:Coldef

  {headerName: 'Package Name',checkboxSelection: true,rowGroupIndex: 0, valueGetter: params => params.data.packages[0].name},
我正在从服务绑定行值,但未能获取它。
我应该使用任何不同的格式来绑定嵌套值和数组值。

我从未尝试过弯曲
ColDef
,只需在获得原始数据后稍微更改数据格式即可

您的数据是基于密钥的,而不是常规数组,我会这样做

.subscribe(res => {
    this.data = Object.values(res.packages);
})

基本上就是@windmaomao所说的。使用agGrid api将data.packages作为参数调用setRowData时:-
this.gridOptions.api.setRowData(data.packages)
字段之后:'name',
在放入columnDefs中时应该可以工作(因此我猜也不再需要valueGetter)

这将使每个记录都循环成帧,希望得到更好的解决方案。像ag网格中的任何内置版本一样,处理这些类型的数据将您的后处理数据作为原始数据,以备将来使用,例如ag网格永远不会100%同意您的服务器json。谢谢,mate,我们将这样做