是否可以使用ngx-datatable自动生成列?

时间:2017-10-19 10:22:53

标签: angular ngx-datatable

我使用ngx-datatable包,在可排序的可过滤数据网格中显示我的数据(从WebAPI检索)。

我的设置是Angular 4应用程序(Web API in .NET core应该无关紧要。)

我想知道是否可以根据Web API返回的JSON自动生成完整的表包括列我已经在google上进行了搜索,但似乎无法找到提供此功能的任何示例。

如果不可能并且您有任何替代库,这些也非常受欢迎。

2 个答案:

答案 0 :(得分:0)

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

此外,不建议将JSON响应准确映射到网格,因为您可能必须在前端进行一些数据操作以使其可读,因此自动生成列并填充数据表可能会增加很多应用程序的复杂性。

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

祝你好运!

答案 1 :(得分:0)

基于JSON响应生成表的最佳方法是在service.ts文件中使用http.get():

 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);
  })