如何映射两个不同的对象并以角网格形式显示在农业网格中

时间:2020-06-11 14:21:44

标签: angular ag-grid ag-grid-angular

我正在提供示例工作数据并有两个对象

vlist=[
  {

    "city": "Mumbai",
    "offers": {
      "1": {
        "status": "true",
        "price": 100
      },
      "2": {
        "status": "true",
        "price": 100
      }
    }
  }
]

products=[
  {
    "productID": 1,
    "productName": "pespsi"
  },
  {
    "productID": 2,
    "productName": "coke
  },
  {
    "productID": 3,
    "productName": "thubs up"
  }

]

在上面提供的对象中,我需要在带有“ vlist”中各个对象的产品对象中映射带有产品ID的产品名称。我的主要目标是如何使用ag-grid显示这些值。

这是我的专栏定义:

columnDefs = [{
    headerName: 'productname', field: 'productname', filter: true, resizable: true
  },{
    headerName: 'price', field: 'price', filter: true, resizable: true
  }, {
    headerName: 'status', field: 'status', filter: true, resizable: true
  }
];

预期结果如下:

productname     price    status
pespsi          100      true
coke            100      true
thumbsup        100      true

像这样的Vlist:

vlist=[
  {

    "city": "Mumbai",
    "offers": {
      "pespsi": {
        "status": "true",
        "price": 100
      },
      "coke": {
        "status": "true",
        "price": 100
      }
    }
  }
]

1 个答案:

答案 0 :(得分:0)

var details = [];
for (var i = 0; i < products.length; i++) {
    var product = products[i];
    var item = vlist[0].offers[''+product.productID];
    details.push({
        productName: product.productName,
        ...item
    });
}

现在您应该将详细信息传递给ag-grid。