Avoid auto re render on report?

I have this script report with certain button for each row. I change it’s color in order to visually let know the user that row has been already selected and then process all the data.
When I scroll, every button returns to its original state (color and text). I can process data to avoid repeated items but I need a way to inform users which rows are selected.
If I don’t scroll that much, works perfectly.
Here’s a short video as a demonstration.
any ideas, please?
I’m using version 13.4.1