Hi Rich,
Browses do not use "keys". The key that you set for a browse has to do with the identification of the rows, not their sort order.
Now, before you panic, key's are used. But you don't get to specify them. The View engine automatically picks the best key to match the ORDER of the view. A browse has a SORT ORDER - that may, or may not, match a key. The View engine is responsible for deciding (and you can't specify what it should do.)
[aside: incidentally this is exactly the same as the way a Windows browse works.]
So your #2 becomes;
Use a locator and
Set the "order" of the browse.
If you take a look at the "Locators" example, you'll see how the locator can be turned on an off at runtime.
And if you follow along the same sort of pattern, and look at the generated code, you'll see how the sort order can be set at runtime as well. This may take a bit more effort, but if you get stuck just ask.
So you don't hide/unhide the browse, you just use embed code in the browse itself so it modifies it's behaviors based on the drop-down session values.
cheers
Bruce
cheers
Bruce