2.4.1.9 Drop-Down List Control
The dropdown list control enables the user to select a single value from a list of options that can be specified manually by the form template designer, or is populated from a data source. A DROPDOWN_LIST_BOX MUST have one of the symbols in the following table.
Symbol |
Description |
---|---|
SIMPLE_DROPDOWN_LIST_BOX |
A drop down list box is a control that allows the user to select an entry from a collection of values. The collection of values tends to be hidden until the user has them displayed. The collection of values is statically available in the XSL. |
DROPDOWN_LIST_BOX_WITH_CONDITIONAL_FORMATTING |
Similar to SIMPLE_DROPDOWN_LIST_BOX, but allows conditional formatting (text formatting and disabling). |
DROPDOWN_LIST_BOX_WTIH_VALUES_FROM_DATA_SOURCE |
Similar to SIMPLE_DROPDOWN_LIST_BOX with the exception that the values for the collection are drawn from another location within the data source of the form. |
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_CONDITIONAL_FORMATTING |
Similar to DROPDOWN_LIST_BOX_WITH_VALUES_FROM_EXTERNAL_DATA_SOURCE and DROPDOWN_LIST_BOX_WTIH_VALUES_FROM_DATA_SOURCE_AND_CONDITIONAL_FORMATTING. |
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_UNIQUE_DISPLAY_NAMES |
Similar to DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE with the difference that each value from the collection of values is unique. |
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_UNIQUE_DISPLAY_NAMES_AND_CONDITIONAL_FORMATTING |
Similar to DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_UNIQUE_DISPLAY_NAMES and DROPDOWN_LIST_BOX_WITH_CONDITIONAL_FORMATTING. |
SIMPLE_DROPDOWN_LIST_BOX:
-
<select class="xdComboBox xdBehavior_Select" title="ANY_STRING1" (accessKey="SINGLE_CHARACTER")? size="FONT_SIZE" xd:binding="LEAF_XPATH1" xd:boundProp="value" xd:xctname="dropdown" (xd:postbackModel="POSTBACKMODEL")? (tabIndex="TAB_INDEX")? xd:CtrlId="CONTROL_ID" (style="DROPDOWN_LIST_BOX_STYLES")?> CHECK_FOR_GETDOM_BEGIN1 <xsl:attribute name="value"> <xsl:value-of select="LEAF_XPATH1" /> </xsl:attribute> ((<option (value="")?> <xsl:if test="LEAF_XPATH1="""> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> ANY_STRING2 </option>) | (<option value="LEAF_VALUE1"> <xsl:if test="LEAF_XPATH1=LEAF_VALUE1"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> ANY_STRINGX </option>))+ CHECK_FOR_GETDOM_END1 </select>
DROPDOWN_LIST_BOX_WITH_CONDITIONAL_FORMATTING:
-
<select class="xdComboBox xdBehavior_Select" title="ANY_STRING1" (accessKey="SINGLE_CHARACTER")? (style="DROPDOWN_LIST_BOX_STYLES")? size="FONT_SIZE" xd:binding="LEAF_XPATH1" xd:boundProp="value" xd:xctname="dropdown" (xd:postbackModel="POSTBACKMODEL")? (tabIndex="TAB_INDEX")? xd:CtrlId="CONTROL_ID"> CHECK_FOR_GETDOM_BEGIN1 (<xsl:attribute name="style"> DROPDOWN_LIST_BOX_STYLES <xsl:choose> (DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING)* </xsl:choose> </xsl:attribute>)? (<xsl:choose> (DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING | DROPDOWN_LIST_BOX_CONDITIONAL_DISABLING)+ </xsl:choose>)? <xsl:attribute name="value"> <xsl:value-of select="LEAF_XPATH1" /> </xsl:attribute> ((<option (value="")?> <xsl:if test="LEAF_XPATH1="""> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> ANY_STRING2 </option>) | (<option value="LEAF_VALUE1"> <xsl:if test="LEAF_XPATH1=LEAF_VALUE1"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> ANY_STRINGX </option>))+ CHECK_FOR_GETDOM_END1 </select>
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE:
-
<select class="xdComboBox xdBehavior_Select" title="ANY_STRING1" (accessKey="SINGLE_CHARACTER")? size="FONT_SIZE" xd:binding="LEAF_XPATH1" xd:boundProp="value" value="ANY_STRING2" xd:xctname="dropdown" (xd:postbackModel="POSTBACKMODEL")? (tabIndex="TAB_INDEX")? xd:CtrlId="CONTROL_ID" (style="DROPDOWN_LIST_BOX_STYLES")?> CHECK_FOR_GETDOM_BEGIN1 <xsl:attribute name="value"> <xsl:value-of select="LEAF_XPATH1" /> </xsl:attribute> <xsl:choose> <xsl:when test="function-available('xdXDocument:GetDOM')"> <option /> <xsl:variable name="val" select="LEAF_XPATH1" /> <xsl:if test="not(REPEATING_LEAF_XPATH1[LEAF_XPATH=$val] or $val='')"> <option selected="selected"> <xsl:attribute name="value"> <xsl:value-of select="$val" /> </xsl:attribute> <xsl:value-of select="$val" /> </option> </xsl:if> <xsl:for-each select="REPEATING_LEAF_XPATH1"> <option> <xsl:attribute name="value"> <xsl:value-of select="RELATIVE_LEAF_XPATH1" /> </xsl:attribute> <xsl:if test="$val=RELATIVE_LEAF_XPATH1"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> <xsl:value-of select="RELATIVE_LEAF_XPATH2"/> </option> </xsl:for-each> </xsl:when> <xsl:otherwise> <option> <xsl:value-of select="LEAF_XPATH1" /> </option> </xsl:otherwise> </xsl:choose> CHECK_FOR_GETDOM_END1 </select>
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_CONDITIONAL_FORMATTING:
-
<select class="xdComboBox xdBehavior_Select" title="ANY_STRING1" (accessKey="SINGLE_CHARACTER")? (style="DROPDOWN_LIST_BOX_STYLES")? size="FONT_SIZE" xd:binding="LEAF_XPATH1" xd:boundProp="value" value="ANY_STRING2" xd:xctname="dropdown" (xd:postbackModel="POSTBACKMODEL")? (tabIndex="TAB_INDEX")? xd:CtrlId="CONTROL_ID"> CHECK_FOR_GETDOM_BEGIN1 (<xsl:attribute name="style"> DROPDOWN_LIST_BOX_STYLES <xsl:choose> (DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING)* </xsl:choose> </xsl:attribute>)? (<xsl:choose> (DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING | DROPDOWN_LIST_BOX_CONDITIONAL_DISABLING)+ </xsl:choose>)? <xsl:attribute name="value"> <xsl:value-of select="LEAF_XPATH1" /> </xsl:attribute> <xsl:choose> <xsl:when test="function-available('xdXDocument:GetDOM')"> <option /> <xsl:variable name="val" select="LEAF_XPATH1" /> <xsl:if test="not(REPEATING_LEAF_XPATH1[LEAF_XPATH=$val] or $val='')"> <option selected="selected"> <xsl:attribute name="value"> <xsl:value-of select="$val" /> </xsl:attribute> <xsl:value-of select="$val" /> </option> </xsl:if> <xsl:for-each select="REPEATING_LEAF_XPATH1"> <option> <xsl:attribute name="value"> <xsl:value-of select="RELATIVE_LEAF_XPATH1" /> </xsl:attribute> <xsl:if test="$val=RELATIVE_LEAF_XPATH1"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> <xsl:value-of select="RELATIVE_LEAF_XPATH2"/> </option> </xsl:for-each> </xsl:when> <xsl:otherwise> <option> <xsl:value-of select="LEAF_XPATH1" /> </option> </xsl:otherwise> </xsl:choose> CHECK_FOR_GETDOM_END1 </select>
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_UNIQUE_DISPLAY_NAMES:
-
<select class="xdComboBox xdBehavior_Select" title="ANY_STRING1" (accessKey="SINGLE_CHARACTER")? size="FONT_SIZE" xd:binding="LEAF_XPATH1" xd:boundProp="value" value="ANY_STRING2" xd:xctname="dropdown" (xd:postbackModel="POSTBACKMODEL")? (tabIndex="TAB_INDEX")? xd:CtrlId="CONTROL_ID" (style="DROPDOWN_LIST_BOX_STYLES")?> CHECK_FOR_GETDOM_BEGIN1 <xsl:attribute name="value"> <xsl:value-of select="LEAF_XPATH1" /> </xsl:attribute> <xsl:choose> <xsl:when test="function-available('xdXDocument:GetDOM')"> <option /> <xsl:variable name="val" select="LEAF_XPATH1" /> <xsl:if test="not(REPEATING_LEAF_XPATH1[LEAF_XPATH=$val] or $val='')"> <option selected="selected"> <xsl:attribute name="value"> <xsl:value-of select="$val" /> </xsl:attribute> <xsl:value-of select="$val" /> </option> </xsl:if> <xsl:variable name="items"> <xsl:copy-of select="REPEATING_LEAF_XPATH1" /> </xsl:variable> <xsl:variable name="uniqueItems" select="msxsl:node-set($items)/*[not(LEAF_XPATH = preceding::LEAF_XPATH2)]" /> <xsl:for-each select="$uniqueItems"> <option> <xsl:attribute name="value"> <xsl:value-of select="RELATIVE_LEAF_XPATH1" /> </xsl:attribute> <xsl:if test="$val=RELATIVE_LEAF_XPATH1"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> <xsl:value-of select="RELATIVE_LEAF_XPATH2"/> </option> </xsl:for-each> </xsl:when> <xsl:otherwise> <option> <xsl:value-of select="LEAF_XPATH1" /> </option> </xsl:otherwise> </xsl:choose> CHECK_FOR_GETDOM_END1 </select>
DROPDOWN_LIST_BOX_WITH_VALUES_FROM_DATA_SOURCE_AND_UNIQUE_DISPLAY_NAMES_AND_CONDITIONAL_FORMATTING:
-
<select class="xdComboBox xdBehavior_Select" title="ANY_STRING1" (accessKey="SINGLE_CHARACTER")? (style="DROPDOWN_LIST_BOX_STYLES")? size="FONT_SIZE" xd:binding="LEAF_XPATH1" xd:boundProp="value" value="ANY_STRING2" xd:xctname="dropdown" (xd:postbackModel="POSTBACKMODEL ")? (tabIndex="TAB_INDEX")? xd:CtrlId="CONTROL_ID"> CHECK_FOR_GETDOM_BEGIN1 (<xsl:attribute name="style"> DROPDOWN_LIST_BOX_STYLES <xsl:choose> (DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING)* </xsl:choose> </xsl:attribute>)? (<xsl:choose> (DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING | DROPDOWN_LIST_BOX_CONDITIONAL_DISABLING)+ </xsl:choose>)? <xsl:attribute name="value"> <xsl:value-of select="LEAF_XPATH1" /> </xsl:attribute> <xsl:choose> <xsl:when test="function-available('xdXDocument:GetDOM')"> <option /> <xsl:variable name="val" select="LEAF_XPATH1" /> <xsl:if test="not(REPEATING_LEAF_XPATH1[LEAF_XPATH=$val] or $val='')"> <option selected="selected"> <xsl:attribute name="value"> <xsl:value-of select="$val" /> </xsl:attribute> <xsl:value-of select="$val" /> </option> </xsl:if> <xsl:variable name="items"> <xsl:copy-of select="REPEATING_LEAF_XPATH1" /> </xsl:variable> <xsl:variable name="uniqueItems" select="msxsl:node-set($items)/*[not(LEAF_XPATH = preceding::LEAF_XPATH2)]" /> <xsl:for-each select="$uniqueItems"> <option> <xsl:attribute name="value"> <xsl:value-of select="RELATIVE_LEAF_XPATH1" /> </xsl:attribute> <xsl:if test="$val=RELATIVE_LEAF_XPATH1"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> <xsl:value-of select="RELATIVE_LEAF_XPATH2"/> </option> </xsl:for-each> </xsl:when> <xsl:otherwise> <option> <xsl:value-of select="LEAF_XPATH1" /> </option> </xsl:otherwise> </xsl:choose> CHECK_FOR_GETDOM_END1 </select>
DROPDOWN_LIST_BOX_CONDITIONAL_DISABLING:
-
<xsl:when test="BOOLEAN_XPATH_EXPRESSIONY"> <xsl:attribute name="disabled">true</xsl:attribute> </xsl:when>
DROPDOWN_LIST_BOX_CONDITIONAL_FORMATTING:
-
<xsl:when test="BOOLEAN_XPATH_EXPRESSIONX">(LEAF_CONTROL_CONDITIONAL_FORMATTING_CAPTION)?</xsl:when>
DROPDOWN_LIST_BOX_STYLES: Semicolon-delimited list of (STYLE_WIDTH?, STYLE_FONT?, STYLE_MARGIN?, STYLE_VERTICAL_ALIGN?, STYLE_TEXT_DECORATION?, STYLE_COLOR?, STYLE_BACKGROUND_COLOR?, STYLE_DIRECTION?).
Control-specific attributes used by the dropdown list control are as follows:
xd:binding (section 2.4.2.6)
xd:boundProp (section 2.4.2.9)
xd:CrtlId (section 2.4.2.10)
xd:postbackModel (section 2.4.2.29)
xd:xctname (section 2.4.2.35)
The xdXDocument:GetDOM XSL function extension, as specified in section 2.4.3.9.2, is used by the dropdown list control.