I’m trying to make several tables with a several label heading. The label heading should be the project.name. On each project.name, it will have the table material_projects. In it it will have heading of material_name, quantity, unit and total. I have the example picture below on how would I want to achieve this. I’ve also added the api response below. I’m confused on how would I iterate using the *ngFor in the html.
getAllProjects() {
this.subscription = this.projectsService.getAll()
.subscribe(
(data:any) => {
this.projects = data.projects;
console.log(data);
},
error => {
console.log(error);
});
}
html
<div class="card-block">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Project Name</th>
<th>Material ID</th>
<th>Unit</th>
<th>Quantity</th>
<th>Total Quantity</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let project of projects">
<td>{{ project.name }}</td>
<td>{{ project.material_projects.material_id}}</td>
<td>{{ project.material_projects.unit }}</td>
<td>{{ project.material_projects.quantity }}</td>
<td>{{ project.material_projects.total }}</td>
</tr>
</tbody>
</table>
</div>
You can do something like this,