Another problem from a reader. Unlike checkbox or radio prompts, list prompts don’t expand and collapse to fit the number of options available to them.
In the above image, we have a prompt that has too much space. Let’s shrink that down.
Now it shrinks to the number of rows displayed, or expands to a maximum of 15 items.
It’s actually a very easy script. The first step is to identify the prompt. We’ll use the old fW script (so this should work in every since 8.4).
var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms["formWarpRequest"]); if ( !fW || fW == undefined) { fW = ( formWarpRequest_THIS_ ? formWarpRequest_THIS_ : formWarpRequest_NS_ ); } var preFix = ""; if (fW.elements["cv.id"]) { preFix = fW.elements["cv.id"].value; } var nameSpace = "oCV" + preFix;
Next, we need to identify the prompt object:
var pr = fW._oLstChoicesPromptName;
The prompt itself is a standard SELECT element. We can set the size attribute to easily set the height.
This gives us:
if (pr.options.length>15) { pr.size=15 } else { pr.size=pr.options.length }
The following report XML is based on 10.2.1, but you can downgrade it easily by changing the schema number on the first line.
Resizing-Value-Prompt-List.txt (1020 downloads)