Tabulator v5.6, doubts regarding setValue() and editor:”List”

First doubt:

In my tabulator table I have my columns ‘price’, ‘price 2’, ‘discount’, at a given moment in my cellEdited() of the ‘discount’ column I do a setValue() on the ‘price’ column, this triggers the cellEdited () which does a setValue() on the ‘price2’ column, and this triggers cellEdited() which does a setValue() on the ‘discount’ column… The problem here is that this ends up causing a loop (‘Column 1’ calls > ‘Column 2’ calls > ‘Column 3’ which calls > ‘Column 1’ and stays in this loop), I wanted to know if there is a way to do a ‘silent’ setValue() (without triggering cellEdited()) from column?

Currently I’m controlling it with the global variable ‘triggered = true’ which I set the value when doing setValue() and in cellEdited() I only execute things if the global variable doesn’t have the value ‘true’, but it doesn’t seem like the best option.

Second doubt:

I have my ‘product’ column which is editor: “list”, but I want that as I type I ‘repopulate’ the list options “cellEditing()” and “cellEdited()” do not work in this case, because as it says in documentation “cellEditing()” is for when editing of the selected value begins and “cellEdited()” is after finishing editing, in the documentation it has ‘valuesURL: “http://myvalues.com”, //a url to load the values from’ (https://tabulator.info/docs/5.6/edit#editor-list), but in my case I don’t have a url, I will do a select in a view from my database, any tips on how to do this? I’m quite lost in this situation.