Iโm trying to find a way to validate data entered into a Text field in a way that is as keyboard-friendly as possible. Even without a keyboard, I have some fields where it will be much faster to enter the first few characters of a field than to scroll through a list of choices.
Once I have typed enough characters to uniquely identify one of the options, Iโd like to be able to have the app Autocomplete/Autofill the field with the matched option.
I have read-only table called Who, with a list of names in it.
As an example, if the Who table contains the names โฆ
โฆ Iโd like to display an empty text box to the user into which they can type something rather than a box with a drop-down arrow in it. Once they start to type, Iโd like the user to be shown a list of matching entries, and once theyโve typed enough to only match one entry, that one should be automatically selected (or at least be automatically selected as soon as the user tabs to the next field or moves out of the field in any way).
So given the above example, if Iโm adding new entries to a different table where I want to make sure that all names in the table come from a valid list, when I type โJโ or โJuโ into the text box, it should show Julie and Justin as valid options. As soon as I type โsโ or โlโ, I then have only one option left (Justin or Julie, respectively), and that option should then be autofilled into the text box.
As far as I can work out, Suggest if in the Auto Compute section for a text field requires me to click into the field before it lets me type anything into the field - a step Iโm trying to avoid. In addition, using the tab key doesnโt visibly select the radio button option that Iโve tabbed to, so I canโt see which option I may have selected. Finally, Suggest_If gives me the option to type something that isnโt in the existing list, and has
If I use Valid if in the Data Validity, the ability to have a text (search) box at all disappears - I just get a list of radio buttons.
Iโve seen questions about Autocomplete, but those that Iโve found are questions from people who arenโt bothered how the options are presented to the user, and also want the user to be able to enter a new value, which is the opposite of what I want.
Is there a way to achieve this please?
For bonus points, even if I donโt type enough characters for a unique match, can I order the data in the sheet used for the validation according to preference, and have appsheet autocomplete the first match, even if I havenโt typed enough characters for a unique match? e.g. in my list of names above, if I type J, Julie is before Justin in my list, so it should use Julie as the text for that field.
Thanks
Julie
Enum columns in Appsheet donโt work like that.
Something that may get you what you want would be to include a second column for manual text entry. As a user enters text into this column, an Initial Value expression for the original Enum column could use the entered text to choose the item once enough letters are entered.
There isnโt really a functional difference between using Valid_If vs Suggested Values, when youโre entering a List-returning expressions into either. But perhaps you have missed these options?
You can utilize the ORDERBY()
expression, but only if the Enum is base type Ref. That would actually make the Initial Value that I mentioned above easier, as you could get rid of any logic checking for a single result, and instead simply use INDEX(... , 1 )
Auto-selection from a minimal match is not possible in AppSheet.
Thank you - I had a feeling that was going to be the answer. Iโll live with it
With the introduction of the new desktop UI, this has become a necessity.
User | Count |
---|---|
15 | |
14 | |
8 | |
7 | |
4 |