I am trying to refresh my datagrid in a appropriate manner. The datagrid is inside a tab and I tried to refresh it with a simple datarefresh. This does not have any effect on the datagrid. Then I tried the Javascript method
OutSystems.GridAPI.GridManager.GetGridById($parameters.GridWidgetId).provider._items.refresh()
I see the datagrid is refreshing but still it has no effect on the datagrid.
Only when I use an event and refresh the parent I see the effective changes. It feels like I am refreshing the datagrid with a hammer or is this the only way?
Hi @Rogier Mullaart ,If updated data is available in DB then you need to re-execute the action in which you are creating the JSON data for your data grid so that updated values can be assigned.OrIf you are changing the values on run time through the data grid and expecting the updated value should reflect on the screen. Then you need to call "setCellData" and then "MarkChangesAsSaved" with your save action.
Regards,
Thank you for your response,
With a refresh of the dataaction (which holds the data for the datagrid) I am re-executing the creation of the datagrid. But this does not result in a change on the screen. And also not through the JS action. Only a refresh of the whole page or an event/parent refresh results in the deisred change.
My change in the datagrid is triggered with a checkbox and button. This results in the execution of an action . For example a delete of a row. The logic works fine (the data is deleted from the DB) but I cant find the right way to to show the result on the screen.
Now I understand your issue.I am attaching OML for your reference.In this Demo, if you check the "Delete" logic you will find firstly I am calling the list clear for the list where I am initially storing the data.After that re-executing the JSONSerialize action, so that we can get updated records only.Please let me know if you have more queries.Thank you