2017-09-14 94 views
0

我在angular4中使用ag网格。我想通过获取方法使用API​​显示数据。我的API是好的,也可以在控制台中获取数据。但我无法在ag-grid中显示数据。我不明白这里有什么问题。当我编译我的项目时,没有显示错误。我的项目在浏览器中运行,也显示标题名称,但不显示来自API的数据。不在ag网格中显示数据

我的TS文件:

import {Component, OnInit} from '@angular/core'; 
import {GridOptions} from 'ag-grid'; 
import {Http} from '@angular/http'; 

@Component({ 
selector: 'app-my-grid-application', 
templateUrl: './my-grid-application.component.html', 
styleUrls: ['./my-grid-application.component.css'] 
}) 

export class MyGridApplicationComponent implements OnInit { 

public gridOptions: GridOptions; 
public columnDefs = []; 
public rowData = []; 

constructor(public http: Http) { 
this.gridOptions = <GridOptions>{ 
    rowData: [], 
    columnDefs: [ 
    { 
     headerName: 'ID', 
     field: 'id' 
    }, 
    { 
     headerName: 'Name', 
     field: 'name' 
    } 
    ] 
} 

这是GET API链接

ngOnInit() { 
const url = 'http://localhost:3000/studentInfo/students'; 
this.http.get(url).subscribe(
    res => { 
    this.gridOptions = res; 
    }, 
    msg => { 
    console.error(`Error: ${msg.status} ${msg.statusText}`); 
    } 
); 
} 
} 

的方法,这是我的HTML文件,我定义我的网格呈现

我的html文件:

<ag-grid-angular #agGrid style="width: 650px; height: 200px;" class="ag- 
    fresh" [gridOptions]="gridOptions" [columnDefs]="columnDefs 
    [rowData]="rowData"> 
    </ag-grid-angular> 
+0

在我看来,你是不是填你* * rowData **? 'private createRowData(){ var rowData:any [] = []; (var i = 0; i <3; i ++)rowData.push({Ref:[i] .id, name:RefData [i] .name }); } this.rowData = rowData; }' – Swoox

+1

我已经解决了使用此问题: 解析度=> { this.rowData = res.json()this.http.get(URL).subscribe(; //的console.log(res.json() ); console.log(this.gridOptions.rowData); }, –

回答

0

我已经解决了这样这个问题.......

ngOnInit() { 
const url = 'http://localhost:3000/studentInfo/students'; 
this.http.get(url).subscribe(
    res => { 
    this.rowData = res.json(); 
    }, 
    msg => { 
    console.error(`Error: ${msg.status} ${msg.statusText}`); 
    } 
); 

}

和HTML:

<ag-grid-angular #agGrid style="width: 650px; height: 200px;" class="ag-fresh" 
       [gridOptions]="gridOptions" [rowData]="rowData">