Take a look at how to use a helper entity, like in this post: https://forum.mendix.com/link/questions/110821
Worked for me.
One twist, if something (like a DataGrid2) does not allow you to record clicks, then insert a container in the row (use custom content in DataGrid2 for the column) and then put a on change nano or microflow that updates the helper entity.
Have a whole page full of dataviews and list views that listen to the helper like is explained in the post linked, and things work like a charm.
I managed to solve it by adding a non persistant entity RefreshHelper, and by wrapping the list view in a data view that creates an object of RefreshHelper using a nanoflow.
The nanoflow that creates the list view expects this RefreshHelper as input parameter.
On the list view I added a pull to refresh nanoflow, which refreshes the RefreshHelper by using a 'Refresh Object' java action.