Currently, I have 4 columns in my data source. I want to perform some operations from the data I receive from one of the columns, and then add that data to a new column in the table. Is there any way to do that?
Asked
Active
Viewed 340 times
1
-
You can modify the data with map. This is more of a typescript action than angular. – Nabel Feb 26 '20 at 12:43
-
1You might need to modify your datasource and re render the table – Amit Feb 26 '20 at 12:45
-
@Amit, how do I do that? I modified the data source, but I cannot see the new column data in my angular table. – shasha0607 Feb 26 '20 at 13:09
-
I haven't used angular material. but there is refresh() method which you can trigger to update you grid – Amit Feb 26 '20 at 13:13
1 Answers
1
You could make changes in data before setting it to dataSource. For example, if you get some http data as observable, you could do:
this.data$ = this.certificateService.certificates$.pipe(
map(data => {
data.column5 = data.column4 // and make all other calculations
return data;
})
);
Then you could subscribe on data and set it in datasource
this.data$.subscribe(data => {
this.dataSource = new MatTableDataSource(data)
})

akushylun
- 151
- 1
- 5