Отображение массива и вложенного json в Ag-grid с использованием Angular 5 - PullRequest
0 голосов
/ 04 июня 2018

У меня был сценарий связывания вложенного массива json для связывания ag-grid с использованием углового значения 5. Я пытался использовать valueGetter для моих данных строки colDefs как 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
    }
  ]
 }
 ]
}

Angular 5: Coldef

  {headerName: 'Package Name',checkboxSelection: true,rowGroupIndex: 0, valueGetter: params => params.data.packages[0].name},

Значения строк, которые я связываю с Сервисом, но не смог получить его.Должен ли я использовать любой другой формат для привязки вложенных значений и значений массива.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

В основном именно то, что сказал @windmaomao.Когда вы вызываете setRowData, используя API-интерфейс agGrid, передайте data.packages в качестве параметра: - this.gridOptions.api.setRowData(data.packages); После этого field: 'name', должно работать, когда помещается в columnDefs (поэтому я думаю, что для valueGetter больше не будет необходимости)

0 голосов
/ 04 июня 2018

Я никогда не пытался согнуть ColDef, просто немного измените формат данных после получения необработанных данных.

Ваши данные основаны на ключах, а не на обычном массиве, я бы это сделал

.subscribe(res => {
    this.data = Object.values(res.packages);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...