There are a couple of ways to accomplish this (that I can think of off the top of my head):
1) Use a second field in the value list, and sort by that.
2) Use a Virtual List and build the list in variables. Present it to the user with a portal inside a popover.
1. Since the valuelist is normally sorted alphanumerically are you saying use a new field that ensures that 'priority products' are sorted to the top of the list? No way of inserting a divider?
2. Please could I have a bit more info on this one? I should mention that the VL is currently a popup field already inside a portal. So would I have a portal inside a popup inside a portal?
1) Yes, you use a second field and sort on that. A divider can be added by adding an appropriate record to the source table.
2) No, you can't put a portal inside another portal. But you can put a hidden popover button outside the portal and launch it with Go to Object.
value lists can't be sorted 'manually'
as Mike mentioned, You can create a virtual list or use a second field
there is another -somewhat dirty- method to achieve this without a second field: Using the BOM character...
BOM means bit option marker, a reserved character to mark internal bit order (little-/big endian...)
the BOM character is reserved - and has absolutely zero width - it's nothing to be displayed, but not nothing (-:
so the trick is, to add invisible BOM's in front of the values for the valuelist, first value gots one BOM, second value gots two BOM's and so on. When indexed as unicode (field definition), the entry with less BOM's will be first...
won't be the choice with loong value lists...
when entering a value from that value list, BOM's should be extracted (trigger)
as said, somewhat dirty - but we are using this quite frequently when users need to have an 'own sorted' single field value list..
Thanks to both.
I wondered whether I could include a counter whereby the 10 most used products could be sorted as a 'priority list' above 'the rest'. Does this appear practical before I head off and try?
Yes, you can do this. One way would be to use a concatenated sort field in addition to the user-accessible sort. Example:
Case ( not IsEmpty ( priority ) ; “00” ; “99” ) & “-“ & Right ( “000” & sort ; 3 )
What this will produce is a list that might look something like this:
where the first three items are marked “priority”. Sort on this, and voila! You have your list in the desired order.
Thank you. I'll the above and try to implement it in my solution. Stephen