A method I use is to create a calc field (call it utility_NameSearch or something like that) and use the following calc:
Substitute ( <theFieldYourReallyWantToSearch> ; " " ; "¶" )
—provides a LIST of ALL WORDS in the <theFieldYourReallyWantToSearch>
—purpose is to enable searching to find any word in the name, not just the whole field content from the start
You can then use this field as a value list, or—my preferred method—in association with a portal search where you type into a search field and a portal shows an ever-reducing list of matches.
I address that problem often - value lists for Catalogue listings tend to be too long and unwieldy. I always use a filtered portal that lists all the catalogue items. There is a global filter field above it, with a script trigger (to commit and return to it On Modify) that is the filter for the portal. You can have a various types of filters:
- a simple filter looking for the Catalogue Item starting with the gFilter letters. This replicates what you have now.
- a Patterncount ( gFilterField ; CatalogueNumber ) that will list only articles containing the filter data.
- allow the user to enter several filter groups separated by a space, eg 'b ris 10' and filter for the Patterncount of the first word, AND the second word, AND the third word. As the user adds more data strings (in any order) they will find only items mentioning all of them (eg: B-10-Riser).
- you can of course change it to be an OR filter, if that is more suitable (but I've never had a use for that).
Clicking on the item in the portal then (has a script which) effects the same as selecting the item from a value list.
You can also sort the portal in a way that might suit the user better than the simple alphanumeric of a Value List - and you can even allow the user to sort the portal dynamically if they sometimes prefer by Catalogue Number, sometimes by Product Group first, etc.