我是angular / js的新手,主要使用c#编写代码
下面的代码使用ag-grid,而我试图从我的C#API中获取一个我接收到的json字符串,并将其传递给网格。当前,当我加载网格时,我得到一个错误,我相信是由于从http响应传递的数据im格式不正确而导致的。有谁知道我如何将以下json放入网格?
fopen()
我尝试做import {Component, OnInit} from '@angular/core';
import {HttpClient} from '@angular/common/http'
import {AgGridModule} from 'ag-grid-angular';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'app';
private gridApi;
private gridColumnApi;
private columnDefs;
private sortingOrder;
rowData: any; //define a variable that we can store our http request/API data in
constructor(private http: HttpClient) {
this.columnDefs = [
{headerName: 'Sku', field: 'Sku', sortingOrder: ["asc", "desc"]},
{headerName: 'Size', field: 'Size'},
{headerName: 'Quantity', field: 'Quantity'}
];
}
onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
this.http.get("http://localhost:62819/Api/ShippingCalculator/")
.subscribe(data => {
params.api.setRowData(data);
})
}
}
,但说data = JSON.Parse
找不到。 Angular似乎非常有用,但是我找不到任何有关将数据从http请求放入简单网格的信息。
JSON
edit:我认为这可能与我的json格式有关。如何仅从json中获取Products []数组并将其分配给网格?
答案 0 :(得分:0)
让我们尝试一下!
首先将您从响应对象收到的数量的字段名称更改为数量,更改为 columnDefs
第二个而不是传递params.api.setRowData(data);
而不是传递数组到rowData params.api.setRowData(data.Products);