12
Views
3
Comments
Solved
[Data Grid Reactive] Forcing GUI Refresh after manually updating underlying cell binding value
Forge component by Bruno Martinho
6
Published on 24 Feb 2021
Application Type
Reactive

Hi there,

Firstly I wanted to thank the entire team who has worked on this forge component as the functionality that it provides out of the box is very powerful, great stuff!

I am currently in the process of attempting to build some extra functionality and get the grid working how I require for my use case.

My use case requires me to have a total sum column at the end of the grid, when any number cell in the row is updated I wanted to update the sum total column for that row. So far I have stepped through chrome debugging in the page and reading through the GridFramework.JS in the component itself.

I have attempted to add a couple of extra lines on the cellEditEndingHandler function to set the value in the underlying JSON data for the total sum. This has been successful, however the new value is not reflected in the GUI. I assume there's a listener or a series of functions called to update the grid and reflect the data correctly.

I was hoping that someone could save me some time and point me in the right direction. If I am able to update the underlying JSON data for the binding value for total sum column, what other JS functions in the GridAPI or GridFramework.js need to be called to achieve my outcome and have the underlying JSON binding value updated and reflected in the GUI?

Or is there any easier way to achieve my goal?  Thanks again and look forward to your response.

Kind Regards,

Jack McMillan

Rank: #36623
Solution

Seems I may have solved this one myself by calling the following build function. While debugging through chrome console it has reloaded the GUI as desired.

GridAPI.GridManager.GetActiveGrid()._features.dirtyMark.build()


Staff
Rank: #52

Hello Jack,

First of all, sorry for not answering early and you had to figure out a solution by yourself.

I've seen that you have been exploring our API and I have to say that I'm really happy that you manage to pursue figure it out.

We are currently working on new features that will help to achieve your goal with OutSystems and not using JS.

From what I understood you have a calculated cell that actually depends on the values of other cells in the same row, like a sum, right?

With what is being planned, what do you think of an OS event that is triggered when a cell is edited and a client action that allows you to refresh a row with new data values?

Do you think we can reach out to you while we are in solution design and check if the solution would meet your requirements?

Thanks,

Bruno Martinho


Rank: #36623

Hi Bruno,

Not a problem at all, I posted the question and managed to find the solution after taking a small drink break at work.

Yes sure thing, happy to speak to you. This was only one of my requirements, I kept it to the one as I didn't want to bloat the post and have figured most of my own work arounds / hacks to get what i need done for POC stage.

I've shot you a message, thanks.

Kind regards,

Jack McMillan