pp108 : List

List


The List control displays a list of possible data values in a list box. You can select an option from the List control to specify it as the input. However, it should contain at least one value to enable you to use it. You can select only one value from the List control, by default. It is possible, however, to configure the control to support the selection of multiple values and also enumeration.

List controls need to be pre-filled with values that display to the user. To do so, you can specify the Data set properties in the property sheet of the control.

You can also use enumeration to automatically bind multiple values for a data object using the control. When using enumerated values, you do not need to pre-fill the control using the Data set properties. For information about pre-filling a select control, see Prefilling List and Select Controls.

List controls can be data-bound or free-form controls. When data-bound, a List control is bound to a model from which it fetches data. If you do not specify any model, the model of the parent control is associated, by default. You can use a free-form List control to display any arbitrary data.

You can bind a List control to a model by setting the Reference property of the associated business object in the control's property sheet. To do so, specify the XPath of the business object's data to be bound. If no model is set for the control, then the control is bound to the model of its parent control, by default.
For information about the List control, see Listbox.
Note: While binding a model, do not use the model used earlier to pre-fill the List control (using the Data set properties).

Properties, Events, and Methods of the Control


The properties, events, and methods associated with the Select control define its behavior. You can set them either through the control's property sheet or programmatically using the APIs.

Table 1. List of Properties

Design-time property

Runtime property

Description

ID

Sets the string that identifies the control on an XForm. If not specified, a unique ID is automatically generated.

Tab Index

tabIndex

Sets and retrieves the position of the current control in the tabbing order for the current XForm.

Model

Sets the ID of the data model from which the data (specified using the Reference property) is displayed in the control. If model is not specified, it is inherited from the parent control's model.

Reference (xql)

Sets the location or expression for the XPath that contains the data (value) displayed in the control. The XPath refers to the child node or descendants of the immediate parent control's reference.

Enumerated

Denotes whether the List control can display multi-valued data. Once selected, the List control's data will be as specified by its Reference property. Also, if selected, there will be no need to pre-fill the control through Data set property. By default, it is unchecked.

Class Name

className

Sets or retrieves the class name applied on the control.

Tooltip

title

Sets the tool tip that appears on a control when the mouse is moved over it. Programmatically, this property is set by specifying the title property of the control.

Data set

Sets the source through which the List control is filled with options. While using a List control, options (description and values) are used to choose from. However, this is not required if the Enumerated property is selected.

Multiple Selection

multipleSelect

Sets or retrieves a boolean value indicating whether multiple items can be selected from the List control. By default, it is false (unselected).

Task Part

Creates a task part for the control. Selecting the check box, displays the Task Part pane.

Zoom URL

Sets the URL of the Zoom (lookup) page to be opened when the zoom button next to a control is clicked.

Zoom Field

Sets the location or XPath expression that contains the data to be set to the control when the Zoom (lookup) page is closed.

businessObject

Retrieves the root node of the XML data associated with the control; the location of the data is specified by the Reference property.

currentContext

Retrieves the immediate parent of the data that the control represents. This data is the child node of the business object.

data

Retrieves the XML node of the data (value) that the control represents. The location (XPath) of this XML inside the business object is set through the Reference property.

labelXQL

Sets or retrieves the location or expression (XPath) that contains the value to be displayed as the label of the List control. This property can also be set at design time using Data set property.

valueXQL

Sets or retrieves the location or expression (XPath) that contains the value of the List control option. This property can also be set at design time using Data set property.


Table 2. List of Events

Event

Description

BeforeFill

This event is activated before the List control is populated with values from the backend. It is activated for each value that is populated.

Change

This event is activated on modifying data in the control, after the Validate event has been fired.

Data Bind

This event is activated before the data is bound to the control.

InFocus

This event is activated when you highlight or focus upon the control.

OutFocus

This event is activated when the control loses its focus.

Validate

This event is activated after the value of the control is changed and the new value is successfully validated against the settings specified in the Formating Options dialog box.

onafterzoom

This event is activated before the zoom page is closed.

onbeforezoom

This event is activated before the zoom page is opened.


Table 3. List of Methods

Method

Description

addListener()

This method registers the control to receive notifications for an event.

addOption (oOptionsObject, bTransaction, iInsertBeforeIndex, bAllowDuplicates)

This method adds an option to the List and Select controls.

addOptions (aValues, bTransaction, iInsertBeforeIndex, bAllowDuplicates)

This method adds multiple options to the List and Select controls.

create()

This method is available for data-bound controls only. It creates an instance of the business object for the control.

disable()

This method disables the control on which it is invoked.

enable()

This method enables the control on which it is invoked.

getAllOptions ()

This method returns a collection of all the options available in the Select and List controls.

getBusinessObject()

This method retrieves data or business object.

getEBIValidate()

This method retrieves the value that indicates whether a validate request was sent to the Cordys WS-AppServer when the data in the control was changed.

getFormatType()

This method retireves the format type that is attached to the control.

getFormattedValue()

This method returns the value that is to be displayed in the control.

getLabel()

This method returns the label object associated with the control. It is available for all controls associated with labels.

getSelectedOptions ()

This method returns a collection of the selected options in the List and Select controls.

getValue()

This method returns the original value of the control, as available in the database.

hide()

This method hides controls and all associated child controls.

isEnabled()

This method retrieves the value that denotes whether the control is enabled or not.

rebind(oBusinessObject)

This method is available for all controls bound to a model. This method refreshes the control with data from the business object that is passed as a parameter. If no parameter is passed, the business object of the model's activeTuple node is used and the control is refreshed.

remove()

This method is available only for data-bound controls. It removes the instances marked for deletion.

removeDuplicates (oOptions, bTransaction)

This method removes all duplicates from the Select and List controls.

removeListener()

This method the unregisters the control to cease receiving notifications for its events.

removeOption (aIndex, bTransaction)

This method removes an option from the List and Select controls.

removeOptions (aIndexes, bTransaction)

This method removes multiple options from the List and Select controls.

resizeToContent()

This method resizes the drop-down list to fit the largest option.

setEBIValidate()

This method sets the value that indicates whether a validate request must be sent to the Cordys WS-AppServer when the data in the control changes.

setFormatType()

This method sets the format type for the control.

setLabel(sText)

This method sets the text that is passed as a parameter to the label object associated with the control. It is available for all controls associated with a label.

setValue(sValue)

This method sets the value of the control. The sValue parameter denotes the value to be set for the control.

show()

This method makes the control and its children controls visible.