1

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?

4
  • You can modify the data with map. This is more of a typescript action than angular. Commented Feb 26, 2020 at 12:43
  • 1
    You might need to modify your datasource and re render the table Commented Feb 26, 2020 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. Commented Feb 26, 2020 at 13:09
  • I haven't used angular material. but there is refresh() method which you can trigger to update you grid Commented Feb 26, 2020 at 13:13

1 Answer 1

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)
 })
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.