In Forms, selecting a reference from a long list (1000+) is not working
Describe the current behavior
A bug occur when a user wants to fill a reference field in a form. If the initial list of references is too long (aka more than a 1000 references), the user cannot select all references in the list. Only about the first 1000s are shown. Even when the user try to write the name to look for the reference, the autocompletion do not work.
In this example, there are about 2500 companies in the reference list, but in the form, only the first 1000 companies are shown.
Even if we try the autocompletion, the list is stuck at the letter G (and cannot find the T companies)
Steps to reproduce
- Create a database of 2000+ records
- Make a form with a reference of those 2000+ records
- Try to fill the form with record that are near the end of the 2000+ list
- You cannot select the last records of this list
Describe the expected behavior
The reference field should be able to show all record in the list. Not only the first 1000 ones.
Where have you encountered this bug?
- [ ] On docs.getgrist.com
- [X] On a self-hosted instance
Instance information (when self-hosting only)
- Grist instance:
- Version: 1.1.16
- ANCT self-hosted server
There's also a bug when using Reference List. It seems that only the first 30 entries are displayed, which limits the usability when dealing with larger datasets.
Agreed @diogo85 ! I have just experienced the issue as well.
Reference List and Choice list are badly displayed in forms. Only about 25-30 entries from the list are shown, with checkboxes.
Imo, it would be ideal to :
- Have the choice to display your Reference List and Choice List as checkboxes (best for small volume of data) or as a dropdown list (best for big volume of data)
- If the List option is chosen, just like the normal Reference, have a bar with prefill and auto-completion, and the possibility to add several references in the same field
Hey Nicolas, Do you plan to work on this?
Hey Nicolas, Do you plan to work on this?
Hi Vincent, I've raised this issue to the developers today. Lots of work are going on right now, will see if they got time to work on it in a short/mid term.
Hello, Is there any updates on that bug please? As Grist usage expands, it becomes more and more important to have a functional form.
Any news on this? It's a pretty important feature to have it working.
Also for an association I belong to it would be very important to having this fix for the registration forms
Would be useful to my org as well! (leaving this comment just to +1 its importance)
Big +1 on this too. The 30-long tickboxes make some forms look quite bloated (besides making them unoperational because of the unreachable items)
We could also imagine allowing to submit new items (as when completing a RefList column).
I also have this problem.
I suppose there is a hard coded limit to avoid performance issues, but we should be able to display as many checkboxes as we might need and accept potential issues
I would also like to see work on this issue! Usability would strongly benefit from this!
In fact, the form fetches all the choices (despite not having rendered the choices after the 1000th one). This is purely an UI + UX issue, and could be solved in a few lines (but must need UX expertise first).
@lusebille
Scope: for now, we will only work on references and unique choices (same behavior) with the "select field" format.
Next steps : @lusebille : will send examples of the desired behavior on the form → expected end of August. @fflorent / @hexaltation : take these inputs into account to ensure feasibility → expected on 10/09 @fflorent / @hexaltation : development during the second half of September (approx 2 days of development) → expected on 25/09
Hello @RaywanS @hexaltation @fflorent
Examples of good behaviors:
- Airtable: https://airtable.com/appNLR8OklNm8qK6g/shrUaXjPWxPdJzsOs
- Baserow: https://baserow.io/form/SMr4Jzs0qkwcfZY_mn_pdbzeyHIc8nBjAxNzPLCgtZc
- Nocode DB: https://app.nocodb.com/#/nc/form/c8fc1ce3-aa59-4e83-a503-ca4800c43621
How it should works ?
-
When the user starts typing a name, words beginning with the entered letters are progressively filtered and displayed in alphabetical order.
-
Names containing the sequence of letters, not necessarily at the beginning of the word (e.g., compound names), also appear as the user types. Example: [Airtable file] when typing “thérain” you get results like “Bailleul sur Thérain”, “Balagny-sur-Thérain”, etc.
-
If the user makes a typo mistake or forgets an accent, the engine does not seem to suggest results or interpret the mistake in any of the tools. >> This would be a real advantage and a differentiating feature if Grist could recognize typo mistakes or at least handle missing accents.
User interface
- When clicking on the field, the window should open directly below the field (not overlap or open above it).
- Limit the selection window height to 600 px.
@lusebille thanks for the examples ! fyi, Baserow example is not accessible.
@lusebille thanks for the examples ! fyi, Baserow example is not accessible.
Weird it's work for me even with private window
Any news ? Forms that do not have this feature are unusable.
@Gu-Pa It has been landed in 1.7.5
It seems that two bugs are discussed in this issue, only one of which is fixed by the latest release 1.7.5.
The issue that was fixed was described by @nicolas-imbert as "If the initial list of references is too long (aka more than a 1000 references), the user cannot select all references in the list."
The issue that is still pending was described by @diogo85 as "There's also a bug when using Reference List. It seems that only the first 30 entries are displayed, which limits the usability when dealing with larger datasets." and confirmed by @nicolas-imbert as "I have just experienced the issue as well. Reference List and Choice list are badly displayed in forms. Only about 25-30 entries from the list are shown, with checkboxes."
Do you agree?
@Enro Sure, but please let's create another issue for that. This way, we can improve the product step by step :).
I created an issue