There is a new field reference type to create a combobox with an auto filter facility. You use a "table direct" and you set the "Autocomplete" flag. This is done in IDEMPIERE-3851 Filtering list box (AP2-671 TrekGlobal).
Thomas has problems using it because it is not very performant with big data sets.
Carlos had a look into our source code. It seems that it does not use the database for every keystroke but it sorts data on the server and has to resend it to the client. Something in this process is too slow.
Strategies to solve it:
make it configurable when it searches 'ab%' vs. '%abc%'
wait e.g. half a second before you run the query
run the query not in the foreground but in a background thread
see if we can cache data in the client and process it there
We discussed that at iDempiere workshop 2019.
There is a new field reference type to create a combobox with an auto filter facility. You use a "table direct" and you set the "Autocomplete" flag. This is done in IDEMPIERE-3851 Filtering list box (AP2-671 TrekGlobal).
Thomas has problems using it because it is not very performant with big data sets.
Norbert uses https://fusejs.io to do that on client side.
Carlos had a look into our source code. It seems that it does not use the database for every keystroke but it sorts data on the server and has to resend it to the client. Something in this process is too slow.
Strategies to solve it:
make it configurable when it searches 'ab%' vs. '%abc%'
wait e.g. half a second before you run the query
run the query not in the foreground but in a background thread
see if we can cache data in the client and process it there