Xkoder FX
Xkoder FX

Reputation: 51

How to cancel all chnages in row

I have a ag grid table with edit enabled on each cell. I want to reset all changes the user has made on specfic button on click.

Upvotes: 1

Views: 431

Answers (1)

ChefNoName
ChefNoName

Reputation: 11

To achieve this we need to keep our original data separate from what the user will edit - this is done by making a deep copy:

 const originalData = [{ make: 'Toyota', model: 'Celica', price: 35000},
                       { make: 'Ford', model: 'Mondeo', price: 32000 },
                       { make: 'Porsche', model: 'Boxster', price: 72000 },
                      ];

 let copyData = originalData.map((d) => ({ ...d }));

After the cells have been edited - in our function we remake our deep copy then call SetRowData on the deep copy:

 const resetChanges = () => {
 copyData = originalData.map((d) => ({ ...d }));
 gridDataRef.current.gridApi.setRowData(copyData);
};

Heres a live example: https://plnkr.co/edit/1GpqhekV2A5XePSn?open=index.jsx

Upvotes: 1

Related Questions