2017-10-19 85 views
0

我正在使用ngx-datatable程序包,将数据(从WebAPI检索到)显示在可排序,可过滤的数据网格中。是否可以使用ngx-datatable自动生成列?

我的设置是一个Angular 4应用程序(与Web API in .NET core应该不重要)。

我想知道是否可以基于从Web API返回的JSON自动生成包括列的全表我已经在谷歌上搜索过,但似乎无法找到提供此功能的任何示例。

如果这是不可能的,你有任何其他库,这些也是非常受欢迎的。

回答

0

据我所知,没有开箱即用的支持。但是,您当然可以扩展功能来自行支持。

此外,不建议将JSON响应精确映射到网格,因为您可能必须对前端执行一些数据操作才能使其可读,因此自动生成列和填充数据表可能会大量增加应用程序的复杂性。

我建议只是手动添加它们,或者制作一个检查属性的小脚本。扩展它可能会导致(像我所说的)不必要的复杂性,但这主要是与用例相关的。

祝你好运!

+0

问题是我不知道哪列完全返回。我认为应该可以从结果中识别列类型。我只有字符串,数字和日期,所以应该很容易做到。 –

0

以基于JSON响应表的最佳方法是使用一个http.get()在你的service.ts文件:

import { Headers, Http } from '@angular/http'; 
import 'rxjs/add/operator/toPromise'; 

export class HeroService{ 
constructor (private http:Http){} 

public getResponseData() : Promise<any> { 
    return this.http.get('assets/heroes.json') 
    .toPromise().then(response => { 
    return response.json(); 
    }).catch(this.handleError); 
    } 
在component.ts

然后文件呼叫服务方法:

ngOnInit(): void { 
    this.heroService.getResponseData().then((data) => { 
    this.rows = data; 
    }, (error) => { 
    console.log(error); 
    }) 
相关问题