In my last post, I discussed how drop-down lists can give your users some flexibility while entering data. But what if you don’t want them to have flexibility?
Fear not, fascists! We can suck the democracy right out of that field control style.
Allow me to introduce the pop-up menu:
If you’ll check out the billableVsProBono field above, you’ll see that we have something similar to the drop-down list, but for one major difference. You can’t type anything. The only data you can enter in that field is one of the selections in the value list.
Now why would you want to do that? The billableVsProBono field is a perfect example. Our value list contains two values: Billable and Pro Bono.
We don’t want our users to be able to enter more values, a job is either billable, or it isn’t. When we do a search for our pro bono jobs, we want to get all of them, and not have to search for the ones that someone entered as “Free”, “Non-billable”, or “Bono Vox”.
So that’s it: Pop-up menus give your users the ability to select from a list of options, but not do any free entry. In a lot of cases, that may be exactly what you need.
Now the example I used here may not be ideal. If we only have two options, we might choose something like radio buttons instead (watch for that one in an upcoming post). Usually, pop-up menus would be used when there are more options. Let’s look at a different example that shows off another bit of pop-up menu coolness.
We’re going to create a pop-up menu for linking the client to this project. Create a new value list called ClientSelection_d, and we’ll define this to “Use values from field”.
As soon as you click on that option, the ‘Specify Fields for Value List “clientSelection_d”‘ dialog is invoked. Select the following options:
We are able to select the field value from the “first field” (select __kp_ID, in this case) and then we can “Also display values from second field” (selecting the company field).
That’s cool. Even though we’re actually selecting the client’s primary key, we can display the company as well, so that we know which company we’re picking. That is something drop-down lists won’t do.
One step cooler, if you tick the checkbox for “Show values only from second field”, your users won’t even see the client’s primary keys. They just see the company names. That’s all they’re interested in anyhow, right?
So, let’s tick that box, and then keep hitting OK until we are back looking at our layout. Let’s go to Layout Mode, friends.
See that _kf_clientID field? We’re just going to work with the leftmost of the two of them that are side-by-side. Why did I have two there? That was me not planning out this whole series before creating the layout. I had thought I would demo something else there — decided not to.
So delete the right one, and let’s make that left one nice and wide. Now assign our new value list to it, with a pop-up menu, and go back into Browse Mode. Are you ready for this? You’re going to like it. Click on that field.
How cool is that? All you can see is the client company names. Now select one of them:
All you see is the company name, however the company name actually isn’t in that field. The client’s primary key is.
That’s one of the coolest things about pop-up menus. Even though the field contains the client’s primary key, you see the field that you have asked the value list to display.
Notes:
- Pro bono is a latin term that has come into vogue since the advent of the modern lawyer drama on TV, meaning “for the public good” literally, but often meaning “free, but with the hope of getting us more work by looking like nice guys”.
- Does anyone else remember when U2’s Bono used to be called Bono Vox? I guess he decided at some point that Bono Vox sounded lame. He was half right; he should have stuck with Paul Hewson. Maybe some day he’ll change it to Bono Vox Mellencamp. [Disclaimer: Absolutely not a U2 or a John Mellencamp fan.]
- A huge caveat about this technique (Dude! More latin?). If that client gets removed from the value list (either by client record deletion, or some status trigger you may have set up), then the pop-up menu doesn’t have the client company name to display anymore, and you will be left with a number in that field. That could be confusing for your user.
- One technique for avoiding the issue in Note #3 would be to create a Picker Window. It would also help situations where you have a large number of clients to select from. Put a few hundred clients in the value list for a pop-up menu, and you’ll see how it quickly becomes unwieldy. At the end of this series, I may demonstrate the Picker technique.



Hey, Paul. As usual, you have written another excellent post. I’m commenting only to further highlight a subtle behavior of pop-up menus — the point you conclude with: if the field you are changing is a key field, when selecting the field with a pop-up menu you *don’t see* the key value — you see the related value (unlike the drop-down list). That is a sizable benefit indeed!
Thanks, too, for mentioning the caveat in Note 3… this is why I still overlay the related field on the key field (with the display field non-transparent and enterable only in Find mode, and the key field enterable only in Browse mode). Better for the user, but potentially confusing for the developer? Yes, but to which I’ll answer “Nec Temere, Nec Timide.” (Okay, I admit I had to dig to keep the Latin thing going.)
Keep up the great writing, Paul!
~ Lee
“Aliquam” for your kind words, Lee (Google Translate is getting a workout this morning). I haven’t done a post in a few weeks due to a totally full schedule, but will be getting back into it.
I have done the overlay field many times in the past, but don’t have as much need for it lately. Whenever I want users to pick from a list that I don’t have total control over (i.e. if I can’t give them a custom value list), I ALMOST always give them a “picker” window (I actually call them “selection” windows; the term “picker” makes me think of noses).
Like in my example above, if users are selecting clients from a value list, they are likely to outgrow that technique, and end up scrolling through hundreds of clients to find the one they want — at least, that is the goal of most businesses: Lots of clients.
The file I start all my solutions with has a template selection layout, and a full suite of window management and selection scripts. All I have to do is duplicate that layout, then duplicate and change a couple lines of my selection script. It only takes a minute and makes selection much easier (in my opinion, of course).
Of course, as soon as I go as far as stating a rule in my development, I run into dozens of reasonable exceptions. We’ll see if I still hold this opinion next week.
For aerospace inch standard sizes the pressure of the contained fluid transfers through the essentially incompressible O-ring material there are elastomers filled with nano-carbon which can be useful for fuel lines Already backup rings