What You May Need to Know About Selecting Time Zones Without the inputDate Component

9-20 Web User Interface Developers Guide for Oracle Application Development Framework Figure 9–20 selectOneListbox Component The selectManyListbox component creates a component which allows the user to select many values from a list of items. This component includes an All checkbox that is displayed at the beginning of the list of checkboxes, as shown in Figure 9–21 . Figure 9–21 selectManyListbox Component The selectOneChoice component creates a menu-style component, which allows the user to select a single value from a dropdown list of items. The selectOneChoice component is intended for a relatively small number of items in the dropdown list. The selectOneChoice component is shown in Figure 9–22 . Figure 9–22 selectOneChoice Component You can configure the selectOneChoice component to display in a compact mode, as shown in Figure 9–23 . When in compact mode, the input field is replaced with a smaller icon. Figure 9–23 selectOneChoice Component in Compact Mode When the user clicks the icon, the dropdown list is displayed, as shown in Figure 9–24 . Figure 9–24 List for selectOneChoice Component in Compact Mode The selectManyChoice component creates a menu-style dropdown component, which allows the user to select multiple values from a dropdown list of items. This Best Practice: If a large number of items is desired, use an inputComboboxListOfValues component instead. For more information, see Chapter 11, Using List-of-Values Components. Using Input Components and Defining Forms 9-21 component can be configured to include an All selection item that is displayed at the beginning of the list of selection items. If the number of choices is greater than 15, a scrollbar will be presented, as shown in Figure 9–25 . Figure 9–25 selectManyChoice Component By default, all selectItem child components are built when the selectManyChoice component is built, as the page is rendered. However, if the way the list items are accessed is slow, then performance can be hampered. This delay can be especially troublesome when it is likely that the user will select the items once, and then not change them on subsequent visits. For example, suppose you have a selectManyChoice component used to filter what a user sees on a page, and that the values for the child selectItem components are accessed from a web service. Suppose also that the user is not likely to change that selection each time they visit the page. By default, each time the page is rendered, all the selectItems must be built, regardless of whether or not the user will actually need to view them. Instead, you can change the contentDelivery attribute on the selectManyChoice component from immediate the default to lazy. The lazy setting causes the selectItem components to be built only when the user clicks the dropdown. For both immediate and lazy, when the user then makes a selection, the values of the selected selectItem components are displayed in the field. However when lazy content delivery is used, on subsequent visits, instead of pulling the selected values from the selectItem components which would necessitate building these components, the values are pulled from the lazySelectedLabel attribute. This attribute is normally bound to a method that returns an array of Strings representing the selected items. The selectItem components will not be built until the user goes to view or change them, using the dropdown. Note that there are limitations when using the lazy delivery method on the selectManyChoice component. For more information about content delivery for the selectManyChoice component and its limitations, see Section 9.6.2, What You May Need to Know About the contentDelivery Attribute on the SelectManyChoice Component. For the following components, if you want the label to appear above the control, you can place them in a panelFormLayout component. ■ selectOneChoice ■ selectOneRadio ■ selectOneListbox ■ selectManyChoice