Как отобразить данные на компоненте html, если он имеет несколько разных заголовков?
Я работаю над приложением angular 7, сообщаю ему идентификатор отчета, затем возвращается другой результат, зависит от идентификатора отчета
, поэтому, если я передам reportid = 1, он отобразит
FinancialId FinancialName FinancialDate
1 cash 12/01/2020
если я передам reportid = 2, тогда он отобразит
InventoryId InventoryName InventoryQty InventoryPrice
1 Stor1 10 50
У меня может быть 10 отчетов с разными заголовками и содержимым, поэтому мне нужно, как отображать данные, отличающиеся enet заголовком, отличным от stati c.
service.ts
export class DisplayreportService {
constructor(private http : HttpClient) {
}
GetReportDetailsByReportId(id : string){
return this.http.get<any>('http://localhost:61265/api/report/Getreportdetails/id=' + id)
.map(res=>res);
}
}
на reportdetails.component.ts
reportdetailslist: any[];
constructor(private router: ActivatedRoute, private _displayreport: DisplayreportService) { }
ngOnInit() {
const paramIndex = window.location.href.indexOf('id=');
if (paramIndex > 0) {
let param = window.location.href.substring(paramIndex);
let param1 = param.split('&')[0];
let param2 = param.substr(param.indexOf('=') + 1);
this._displayreport.GetReportDetailsByReportId(param2).subscribe((data: any[]) => {
this.reportdetailslist = data;
});
Как показать данные по компоненту. html ниже
<div>
<table class="table table-hover" >
<thead>
<tr>
<th>i dont know table header returned</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let rep of reportdetailslist">
idont know columns returned
</tr>
</tbody>
</table>
что я пытаюсь сделать следующим образом
this.headerCols = Object.keys(data[0]);
data.forEach((item) =>{
let values = Object.keys(item).map((key)=> item[key]);
this.contentBody.push(values);
});