Unfortunately your current suggested scenario is the most reliant and optimal one.
There is one tweak, but it cannot be used as a common solution.
You may get the original (unfiltered) data using the getInitialData() method:
orig_data = dataCollection_rar.getInitialData()
so you can iterate through orig_data and update the items of your dataCollection_rar by the id (no matter that these items are hidden and cannot be get through the direct iterator).
for (item of orig_data){
if (some_statement)
dataCollection_rar.update(item.id, {"field": "new value"})
}
The main problem in this case is that the changes applied to the “hidden” items won’t be applied until the filter reset. So, in basic you will have to do it anyway
Get a guaranteed answer from DHTMLX technical support team
under the most suitable support plan