Class SelectItem
- All Implemented Interfaces:
HasHandlers
,HasBlurHandlers
,HasChangedHandlers
,HasChangeHandlers
,HasClickHandlers
,HasDataArrivedHandlers
,HasDoubleClickHandlers
,HasEditorEnterHandlers
,HasEditorExitHandlers
,HasFocusHandlers
,HasIconClickHandlers
,HasIconKeyPressHandlers
,HasItemHoverHandlers
,HasKeyDownHandlers
,HasKeyPressHandlers
,HasKeyUpHandlers
,HasPendingStatusChangedHandlers
,HasPickerIconClickHandlers
,HasShowContextMenuHandlers
,HasTitleClickHandlers
,HasTitleDoubleClickHandlers
,HasTitleHoverHandlers
,HasValueHoverHandlers
,HasValueIconClickHandlers
,PickList
- Direct Known Subclasses:
PresetCriteriaItem
,SavedSearchItem
,SelectOtherItem
Options may be derived
from a dataSource
or a valueMap
.
Note that to select the first option as a default value
for the item, defaultToFirstOption
may be set.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.smartgwt.client.widgets.form.fields.FormItem
FormItem.CustomStateGetter, FormItem.StateCustomizer
-
Field Summary
Fields inherited from class com.smartgwt.client.widgets.form.fields.FormItem
configOnly, scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault
Fields inherited from class com.smartgwt.client.core.RefDataClass
id
Fields inherited from class com.smartgwt.client.core.DataClass
factoryCreated, factoryProperties
-
Constructor Summary
ConstructorDescriptionSelectItem
(JavaScriptObject jsObj) SelectItem
(String name) SelectItem
(String name, String title) -
Method Summary
Modifier and TypeMethodDescriptionaddDataArrivedHandler
(DataArrivedHandler handler) Add a dataArrived handler.static void
changeAutoChildDefaults
(String autoChildName, Canvas defaults) Changes the defaults for Canvas AutoChildren namedautoChildName
.static void
changeAutoChildDefaults
(String autoChildName, FormItem defaults) Changes the defaults for FormItem AutoChildren namedautoChildName
.static void
changePickerIconDefaults
(FormItemIcon defaults) defaultDynamicValue
(FormItem item, DynamicForm form, Map values) Expression evaluated to determine thedefaultValue
when no value is provided for this item.void
Only applies to databound items (see optionDataSource).
Performs a fetch type operation on this item's DataSource to retrieve the set of valid options for the item, based on the current pickListCriteria.void
fetchData
(DSCallback callback) void
fetchData
(DSCallback callback, DSRequest requestProperties) Only applies to databound items (see optionDataSource).
Performs a fetch type operation on this item's DataSource to retrieve the set of valid options for the item, based on the current pickListCriteria.Returns the data to display in the pick list.If this item's value is set (viasetValue()
or similar) to a value which is not present in thecom.smartgwt.client.types.ValueMap
, should the value be rejected.If set to true, always show an empty option in this item's pickList, allowing the user to clear the value (even if there is no empty entry in the valueMap for the item).boolean
By default, if multiple keys are pressed in quick succession, a SelectItem will buffer them together and use the resulting multi-char string when searching.If true, when the pickList is shown, it will be shown via an animated reveal effectint
If this.animatePickList is true - this specifies the duration of the animation effect applied when showing the pickListIf this select item retrieves its options from adataSource
, should options be fetched from the server when the item is first drawn, or should this fetch be delayed until the user opens the pickList.When this item is showing a tree-based picker, which nodes should be opened automatically.For databound pickLists (see PickList.optionDataSource), by default Smart GWT will cache and re-use datasets shown by pickLists in an LRU (least recently used) caching pattern.boolean
By default SelectItems do not allow users to select the text of the selected value.Determines the behavior of the click-mask thrown up when this pickList is visible.Returns the set of data to be displayed in this item's PickList.Base CSS class name for a form item's "control box".Whether to show the picker as a flat list, or a collapsible tree.Select the first option as the default value for this SelectItem.Static default value for this SelectItem.If set, this item will display a value from another field to the user instead of showing the underlying data value for thefield name
.Returns thedisplayField
for this item.Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.Text to display when this form item has a null or undefined value.int
Height for an empty pick list (showing the empty message), if the pick list has no records andhideEmptyPickList
isfalse
.Empty message to display in the selectItem if PickList.hideEmptyPickList isfalse
.By default HTML values in a selectItem will be interpreted by the browser.For a ComboBox or other pickList that accepts user-entered criteria, how many millseconds to wait after the last user keystroke before fetching data from the server.If this item has a specifiedoptionDataSource
and this property istrue
, the list of fields used by this pickList will be passed to the datasource asDSRequest.outputs
.IffilterLocally
is set for this item, and this item is showing options from a dataSource, fetch the entire set of options from the server, and use these values to map the item value to the appropriate display value.If this pickList contains no options, should it be hidden? If unset, default behavior is to allow the empty pickList to show if it is databound.For PickList items withPickListItemIconPlacement
set such that the pickList does not render near-origin, should specifiedicons
be rendered inline within the formItem itself, or within thepickerNavigationBar
.An array ofSortSpecifier
objects used to set up the initial sort configuration for this pickList.If true, multiple values may be selected.How should items withmultiple
set to 'true' be displayed?Causes the PickList to open when the down arrow is pressed, default false.Causes the PickList to open when the spacebar is pressed, default false.If set, this FormItem will map stored values to display values as though acom.smartgwt.client.types.ValueMap
were specified, by fetching records from the specifiedoptionDataSource
and extracting thevalueField
anddisplayField
in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.If this item has a specifiedoptionDataSource
, this attribute may be set to specify an explicitDSRequest.operationId
when performing a fetch against the option dataSource to pick up display value mapping.static SelectItem
getOrCreateRef
(JavaScriptObject jsObj) NavigationButton
to clear the picker value, created whenpickListPlacement
indicates that the search interface takes over the entire panel or screen.The title for thepickerClearButton
.NavigationButton
to dismiss the picker interface, created whenpickListPlacement
indicates that the search interface takes over the entire panel or screen.The title for thepickerExitButton
.IfshowPickerIcon
is true for this item, this property governs the size of the picker icon.IfshowPickerIcon
is true for this item, this property governs thesrc
of the picker icon image to be displayed.Base CSS class name for a form item's picker icon cell.IfshowPickerIcon
is true for this item, this property governs the size of the picker icon.NavigationBar
created whenpickListPlacement
indicates that the search interface takes over the entire panel or screen.ListGrid-based AutoChild created by the system to display a list of pickable options for this item.Base Style for pickList cells.int
Cell Height for this item's pickList.The Class to use when creating a picker of type "list" for a FormItem.If this item has a databound pickList (for example PickList.optionDataSource is set), this property can be used to provide static filter criteria when retrieving the data for the pickList.This property allows the developer to specify which field[s] will be displayed in the drop down list of options.protected Criteria
Returns a set of filter criteria to be applied to the data displayed in the pickList when it is shown.int
If this pick list is showing multiple fields, this property determines the height of the column headers for those fields.int
Maximum height to show the pick list before it starts to scroll.Maximum width for this item's pickList.Controls where the PickList is placed.Controls where the PickList is placed.Controls where the PickList is placed.Default width to show the pickList.The Class to use when creating a picker of type "tree" for a FormItem.Indicates whether or not this SelectItem will load its list of optionsprogressively
.Select items will submit their containing form on enter keypress ifsaveOnEnter
is true.Returns the entire record object associated with the current value for this item (or null if no matching record exists in the PickList data).For a SelectItem with anoptionDataSource
and allowing multiple selection (via multiple:true
), returns the list of currently selected records, or null if none are selected.If true,special values
such as the empty value will be shown in a separate non-scrolling area, in theseparateValuesList
.AutoChild used to showspecialValues
.If true, even non-matching options will be shown, with configurableseparatorRows
in between.When this item receives focus, should it be re-styled to indicate it has focus?If showing a hint for this form item, should it be shown within the field?If this item is part of a databound form, and has a specifiedvalueMap
, by default we show the valueMap options in the pickList for the item.boolean
When the user rolls over this item, should it be re-styled to indicate it has focus?Should we show a special 'picker'icon
for this form item? Picker icons are customizable viapickerIconProperties
.boolean
When this item is showing a tree-based picker, the default behavior is for folder open-state to be toggled by double-clicking.Specifies one or more fields by which this item should be initially sorted.Specifies one or more fields by which this item should be initially sorted.String[]
Specifies one or more fields by which this item should be initially sorted.A set of "special" values such as "All", "None" or "Invalid" that do not appear in the normalcom.smartgwt.client.types.ValueMap
or in the data returned by theoptionDataSource
.Base CSS class name for a form item's text box element.When applying filter criteria to pickList data, what type of matching to use.IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.Fordatabound
items, this property will be passed to the generated ResultSet data object for the pickList asResultSet.useClientFiltering
.Return the value tracked by this form item.If this form item maps data values to display values by retrieving theFormItem.displayField
values from anoptionDataSource
, this property denotes the the field to use as the underlying data value in records from the optionDataSource.
If not explicitly supplied, the valueField name will be derived as described inFormItem.getValueFieldName()
.Getter method to retrieve theFormItem.valueField
for this item.For Databound formItems, this property determines which columnvalueIcons
should show up in for this formItem's pickList.
If unset valueIcons show up in thedisplayField
column if specified, otherwise thevalueField
column.
In most cases only thedisplayField
orvalueField
will be visible.String[]
Returns the values of a SelectItem with multiple=true as an array of Strings.If true, multiple values may be selected.boolean
pendingStatusChanged
(DynamicForm form, FormItem item, boolean pendingStatus, Object newValue, Object value) Notification method called whenshowPending
is enabled and thisSelectItem
should either clear or show its pending visual state.setAddUnknownValues
(Boolean addUnknownValues) If this item's value is set (viasetValue()
or similar) to a value which is not present in thecom.smartgwt.client.types.ValueMap
, should the value be rejected.setAllowEmptyValue
(Boolean allowEmptyValue) If set to true, always show an empty option in this item's pickList, allowing the user to clear the value (even if there is no empty entry in the valueMap for the item).setAllowMultiCharSearch
(boolean allowMultiCharSearch) By default, if multiple keys are pressed in quick succession, a SelectItem will buffer them together and use the resulting multi-char string when searching.void
setAnimatePickList
(Boolean animatePickList) If true, when the pickList is shown, it will be shown via an animated reveal effectvoid
setAnimationTime
(int animationTime) If this.animatePickList is true - this specifies the duration of the animation effect applied when showing the pickListsetAutoFetchData
(Boolean autoFetchData) If this select item retrieves its options from adataSource
, should options be fetched from the server when the item is first drawn, or should this fetch be delayed until the user opens the pickList.setAutoOpenTree
(String autoOpenTree) When this item is showing a tree-based picker, which nodes should be opened automatically.setCachePickListResults
(Boolean cachePickListResults) For databound pickLists (see PickList.optionDataSource), by default Smart GWT will cache and re-use datasets shown by pickLists in an LRU (least recently used) caching pattern.setCanSelectText
(boolean canSelectText) By default SelectItems do not allow users to select the text of the selected value.setClickMaskMode
(ClickMaskMode clickMaskMode) Determines the behavior of the click-mask thrown up when this pickList is visible.setControlStyle
(String controlStyle) Base CSS class name for a form item's "control box".setDataSetType
(String dataSetType) Whether to show the picker as a flat list, or a collapsible tree.static void
setDefaultProperties
(SelectItem selectItemProperties) Class level method to set the default properties of this class.setDefaultToFirstOption
(Boolean defaultToFirstOption) Select the first option as the default value for this SelectItem.void
setDefaultValues
(Integer... defaultValues) Default values used when no value is provided for this item.void
setDefaultValues
(String... defaultValues) Default values used when no value is provided for this item.setDisplayField
(String displayField) If set, this item will display a value from another field to the user instead of showing the underlying data value for thefield name
.setEditProxyConstructor
(String editProxyConstructor) Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.setEmptyDisplayValue
(String emptyDisplayValue) Text to display when this form item has a null or undefined value.void
setEmptyPickListHeight
(int emptyPickListHeight) Height for an empty pick list (showing the empty message), if the pick list has no records andhideEmptyPickList
isfalse
.setEmptyPickListMessage
(String emptyPickListMessage) Empty message to display in the selectItem if PickList.hideEmptyPickList isfalse
.setEscapeHTML
(Boolean escapeHTML) By default HTML values in a selectItem will be interpreted by the browser.void
setFetchDelay
(Integer fetchDelay) For a ComboBox or other pickList that accepts user-entered criteria, how many millseconds to wait after the last user keystroke before fetching data from the server.setFetchDisplayedFieldsOnly
(Boolean fetchDisplayedFieldsOnly) If this item has a specifiedoptionDataSource
and this property istrue
, the list of fields used by this pickList will be passed to the datasource asDSRequest.outputs
.setFilterLocally
(Boolean filterLocally) IffilterLocally
is set for this item, and this item is showing options from a dataSource, fetch the entire set of options from the server, and use these values to map the item value to the appropriate display value.void
setHideEmptyPickList
(Boolean hideEmptyPickList) If this pickList contains no options, should it be hidden? If unset, default behavior is to allow the empty pickList to show if it is databound.setIconPlacement
(PickListItemIconPlacement iconPlacement) For PickList items withPickListItemIconPlacement
set such that the pickList does not render near-origin, should specifiedicons
be rendered inline within the formItem itself, or within thepickerNavigationBar
.setInitialSort
(SortSpecifier... initialSort) An array ofSortSpecifier
objects used to set up the initial sort configuration for this pickList.setMultiple
(Boolean multiple) If true, multiple values may be selected.setMultipleAppearance
(MultipleAppearance multipleAppearance) How should items withmultiple
set to 'true' be displayed?setOpenOnDownArrow
(Boolean openOnDownArrow) Causes the PickList to open when the down arrow is pressed, default false.setOpenOnSpace
(Boolean openOnSpace) Causes the PickList to open when the spacebar is pressed, default false.setOptionDataSource
(DataSource dataSource) If set, this FormItem will derive data to show in the PickList by fetching records from the specifiedoptionDataSource
.void
setOptionFilterContext
(DSRequest dsRequestProperties) If this item has a specifiedoptionDataSource
, and this property is
 not null, this will be passed to the datasource asRPCRequest
properties when
 performing the fetch operation on the dataSource to obtain a data-value to display-value
 mappingsetOptionOperationId
(String optionOperationId) If this item has a specifiedoptionDataSource
, this attribute may be set to specify an explicitDSRequest.operationId
when performing a fetch against the option dataSource to pick up display value mapping.setPickerClearButtonTitle
(String pickerClearButtonTitle) The title for thepickerClearButton
.setPickerExitButtonTitle
(String pickerExitButtonTitle) The title for thepickerExitButton
.setPickerIconHeight
(Integer pickerIconHeight) IfshowPickerIcon
is true for this item, this property governs the size of the picker icon.setPickerIconSrc
(String pickerIconSrc) IfshowPickerIcon
is true for this item, this property governs thesrc
of the picker icon image to be displayed.setPickerIconStyle
(String pickerIconStyle) Base CSS class name for a form item's picker icon cell.setPickerIconWidth
(Integer pickerIconWidth) IfshowPickerIcon
is true for this item, this property governs the size of the picker icon.void
setPickListBaseStyle
(String pickListBaseStyle) Base Style for pickList cells.void
setPickListCellHeight
(int pickListCellHeight) Cell Height for this item's pickList.setPickListConstructor
(String pickListConstructor) The Class to use when creating a picker of type "list" for a FormItem.setPickListCriteria
(Criteria pickListCriteria) If this item has a databound pickList (for example PickList.optionDataSource is set), this property can be used to provide static filter criteria when retrieving the data for the pickList.void
setPickListCriteria
(DSRequest optionFilterContext) If this item has a specifiedoptionDataSource
, and this property is not null, this will be passed to the datasource asRPCRequest
properties when performing the filter operation on the dataSource to obtain the set of options for the list.setPickListFields
(ListGridField... pickListFields) This property allows the developer to specify which field[s] will be displayed in the drop down list of options.void
setPickListFilterCriteriaFunction
(FilterCriteriaFunction filterCriteriaFunction) Deprecated.void
setPickListFilterCriteriaFunction
(FormItemCriteriaFunction filterCriteriaFunction) Set up a method to return filter criteria for options displayed for this item.void
setPickListHeaderHeight
(int pickListHeaderHeight) If this pick list is showing multiple fields, this property determines the height of the column headers for those fields.void
setPickListHeight
(int pickListHeight) Maximum height to show the pick list before it starts to scroll.void
setPickListMaxWidth
(Integer pickListMaxWidth) Maximum width for this item's pickList.setPickListPlacement
(PanelPlacement pickListPlacement) Controls where the PickList is placed.setPickListPlacement
(Canvas pickListPlacement) Controls where the PickList is placed.setPickListPlacement
(String pickListPlacement) Controls where the PickList is placed.void
setPickListProperties
(ListGrid pickListProperties) Allows developers to designate aPickListMenu
as a template containing arbitrary properties to apply to the pickList that will be created for this FormItem.void
setPickListSort
(SortSpecifier[] sortSpecifiers) This method sorts the pickList on one or more fields, creating the underlying JS object if needed.void
setPickListWidth
(Integer pickListWidth) Default width to show the pickList.setPickTreeConstructor
(String pickTreeConstructor) The Class to use when creating a picker of type "tree" for a FormItem.setProgressiveLoading
(Boolean progressiveLoading) Indicates whether or not this SelectItem will load its list of optionsprogressively
.setRootNodeId
(Integer rootNodeId) setRootNodeId
(String rootNodeId) setSaveOnEnter
(Boolean saveOnEnter) Select items will submit their containing form on enter keypress ifsaveOnEnter
is true.setSeparateSpecialValues
(Boolean separateSpecialValues) If true,special values
such as the empty value will be shown in a separate non-scrolling area, in theseparateValuesList
.setSeparatorRows
(ListGridRecord[] separatorRows) Array of records to show between matching and non-matching rows in the PickList.setShowAllOptions
(Boolean showAllOptions) If true, even non-matching options will be shown, with configurableseparatorRows
in between.setShowFocused
(Boolean showFocused) When this item receives focus, should it be re-styled to indicate it has focus?setShowHintInField
(Boolean showHintInField) If showing a hint for this form item, should it be shown within the field?setShowOptionsFromDataSource
(Boolean showOptionsFromDataSource) If this item is part of a databound form, and has a specifiedvalueMap
, by default we show the valueMap options in the pickList for the item.setShowOver
(boolean showOver) When the user rolls over this item, should it be re-styled to indicate it has focus?setShowPickerIcon
(Boolean showPickerIcon) Should we show a special 'picker'icon
for this form item? Picker icons are customizable viapickerIconProperties
.setSingleClickFolderToggle
(boolean singleClickFolderToggle) When this item is showing a tree-based picker, the default behavior is for folder open-state to be toggled by double-clicking.setSortField
(Integer sortField) Specifies one or more fields by which this item should be initially sorted.setSortField
(String sortField) Specifies one or more fields by which this item should be initially sorted.setSortField
(String... sortField) Specifies one or more fields by which this item should be initially sorted.void
setSpecialValues
(String... values) Set the specialValues for this item.void
setSpecialValues
(LinkedHashMap valueMap) Set the specialValues for this item.setSpecialValues
(Map specialValues) A set of "special" values such as "All", "None" or "Invalid" that do not appear in the normalcom.smartgwt.client.types.ValueMap
or in the data returned by theoptionDataSource
.setTextBoxStyle
(String textBoxStyle) Base CSS class name for a form item's text box element.setTextMatchStyle
(TextMatchStyle textMatchStyle) When applying filter criteria to pickList data, what type of matching to use.setUpdateControlOnOver
(Boolean updateControlOnOver) IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).setUpdateTextBoxOnOver
(Boolean updateTextBoxOnOver) IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.setUseClientFiltering
(Boolean useClientFiltering) Fordatabound
items, this property will be passed to the generated ResultSet data object for the pickList asResultSet.useClientFiltering
.setValueField
(String valueField) If this form item maps data values to display values by retrieving theFormItem.displayField
values from anoptionDataSource
, this property denotes the the field to use as the underlying data value in records from the optionDataSource.
If not explicitly supplied, the valueField name will be derived as described inFormItem.getValueFieldName()
.void
setValueIconField
(String valueIconField) For Databound formItems, this property determines which columnvalueIcons
should show up in for this formItem's pickList.
If unset valueIcons show up in thedisplayField
column if specified, otherwise thevalueField
column.
In most cases only thedisplayField
orvalueField
will be visible.void
Set the values of a SelectItem with multiple=true.void
Method to show a picker for this item.Methods inherited from class com.smartgwt.client.widgets.form.fields.FormItem
_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIcon, addIcon, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPendingStatusChangedHandler, addPickerIconClickHandler, addShowContextMenuHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, addValueIconClickHandler, applyFormula, asSGWTComponent, blurItem, canEditCriterion, checkFormItemType, clearErrors, clearValue, disable, disableIcon, enable, enableIcon, error, error, errorIfNotCreated, focusAfterItem, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getAlwaysShowControlBox, getApplyAlignToText, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getAutoCompleteKeywords, getBrowserInputType, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanHover, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDateFormatter, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDefaultOperator, getDestroyed, getDisabled, getDisabledHover, getDisableIconsOnReadOnly, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconProperties, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getExportFormat, getFetchMissingValues, getFieldName, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFormula, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, getHeight, getHeightAsString, getHidden, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHeightAsString, getHoverOpacity, getHoverPersist, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWidthAsString, getIcon, getIconBaseStyle, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIcons, getIconTabPosition, getIconVAlign, getIconWidth, getID, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getInputFormat, getLeft, getLinearColSpan, getLinearColSpanAsString, getLinearEndRow, getLinearEndRowAsString, getLinearStartRow, getLinearStartRowAsString, getLinearWidth, getLinearWidthAsString, getListGrid, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultipleValueSeparator, getName, getNullOriginalValueText, getOperator, getOptionCriteria, getOptionDataSourceAsString, getOptionFilterContext, getOptionTextMatchStyle, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPaletteDefaults, getPicker, getPickerIcon, getPickerIcon, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconTabPosition, getPixelHeight, getPixelWidth, getPrintReadOnlyTextBoxStyle, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyCanSelectText, getReadOnlyControlStyle, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredWhen, getRowSpan, getScClassName, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowDisabledIconsOnFocus, getShowDisabledPickerIconOnFocus, getShowErrorIcon, getShowErrorIconInline, getShowErrorStyle, getShowErrorText, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowIconsOnFocus, getShowImageAsURL, getShowOldValueInHover, getShowOverIcons, getShowPending, getShowPickerIconOnFocus, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, getStoreDisplayValues, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextAlign, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getUpdatePickerIconOnOver, getUseAdvancedCriteria, getUseDisabledHintStyleForReadOnly, getUseLocalDisplayFieldValue, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsFloat, getValueAsInteger, getValueAsLong, getValueAsRecordList, getValueDeselectedCSSText, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getValueMap, getValueMapAsArray, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapHintText, getWrapStaticValue, getWrapTitle, handleWarnOnEditorTypeConversion, hasAdvancedCriteria, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isAssignableFrom, isConfigOnly, isCreated, isCutEvent, isDisabled, isDrawn, isFocused, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, removeIcon, selectedRecordChanged, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setAlwaysShowControlBox, setApplyAlignToText, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoComplete, setAutoCompleteKeywords, setBrowserInputType, setBrowserSpellCheck, setCanEdit, setCanEditCriterionPredicate, setCanEditOpaqueValues, setCanFocus, setCanHover, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setConfigOnly, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setCustomStateGetter, setDataPath, setDateFormatter, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultOperator, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisabledHover, setDisableIconsOnReadOnly, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconProperties, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setExportFormat, setFetchMissingValues, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, setHeight, setHeight, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverHeight, setHoverOpacity, setHoverPersist, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWidth, setIconBaseStyle, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconShowOnFocus, setIconVAlign, setIconWidth, setID, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLinearColSpan, setLinearColSpan, setLinearEndRow, setLinearEndRow, setLinearStartRow, setLinearStartRow, setLinearWidth, setLinearWidth, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultipleValueSeparator, setName, setNullOriginalValueText, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionFilterContext, setOptionTextMatchStyle, setOriginalValueMessage, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPrintReadOnlyTextBoxStyle, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyCanSelectText, setReadOnlyControlStyle, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredWhen, setRowSpan, setScClassName, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowDisabledIconsOnFocus, setShowDisabledPickerIconOnFocus, setShowErrorIcon, setShowErrorIconInline, setShowErrorStyle, setShowErrorText, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIconsOnFocus, setShowIfCondition, setShowImageAsURL, setShowOldValueInHover, setShowOverIcons, setShowPending, setShowPickerIconOnFocus, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setStoreDisplayValues, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextAlign, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setUpdatePickerIconOnOver, setUseAdvancedCriteria, setUseDisabledHintStyleForReadOnly, setUseLocalDisplayFieldValue, setUseObjectFactoryForTypeFallback, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setVisibleWhen, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapHintText, setWrapStaticValue, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, stopHover, storeValue, storeValue, updateState, validate, valueClipped
Methods inherited from class com.smartgwt.client.data.Field
getCanExport, getExportTitle, getSortByField, setCanExport, setExportTitle, setSortByField
Methods inherited from class com.smartgwt.client.core.RefDataClass
getRef, getRef, internalSetID
Methods inherited from class com.smartgwt.client.core.DataClass
applyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
-
Constructor Details
-
SelectItem
public SelectItem() -
SelectItem
-
SelectItem
-
SelectItem
-
-
Method Details
-
getOrCreateRef
-
changeAutoChildDefaults
Changes the defaults for Canvas AutoChildren namedautoChildName
.- Parameters:
autoChildName
- name of an AutoChild to customize the defaults for.defaults
- Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, seeSGWTProperties
.- See Also:
-
changeAutoChildDefaults
Changes the defaults for FormItem AutoChildren namedautoChildName
.- Parameters:
autoChildName
- name of an AutoChild to customize the defaults for.defaults
- FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, seeSGWTProperties
.- See Also:
-
changePickerIconDefaults
-
setAddUnknownValues
If this item's value is set (viasetValue()
or similar) to a value which is not present in thecom.smartgwt.client.types.ValueMap
, should the value be rejected.If set to
false
the setValue() call will have no effect if the value is not a valid option.If set to
true
the item's value will be updated to the new value, and the value will be added to the set of options displayed in the pick-list until the next call tosetValueMap()
orsetValue()
.Exception: If the value is set to
null
but there is no null entry in the valueMap for this item, settingaddUnknownValues
to true will not cause a null option to show up at the top of the select item pickList. Whether an empty option is shown in the pickList is governed byallowEmptyValue
instead.Note that this property has no effect if the selectItem has a specified
optionDataSource
. IfsetValue()
is called on a databound SelectItem and the new value does not match any loaded options, the value will be accepted, but not added to the options displayed in the pickList. Also note that if adisplayField
exists, a fetch will be performed in an attempt to retrieve a valid display value, as described underFormItem.fetchMissingValues
. If specified theFormItem.loadingDisplayValue
will be displayed while the fetch is in progress, and then the real value (mapped to a display field value if a matching record was found) will be displayed when the fetch completes.Note : This is an advanced setting
- Parameters:
addUnknownValues
- New addUnknownValues value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getAddUnknownValues
If this item's value is set (viasetValue()
or similar) to a value which is not present in thecom.smartgwt.client.types.ValueMap
, should the value be rejected.If set to
false
the setValue() call will have no effect if the value is not a valid option.If set to
true
the item's value will be updated to the new value, and the value will be added to the set of options displayed in the pick-list until the next call tosetValueMap()
orsetValue()
.Exception: If the value is set to
null
but there is no null entry in the valueMap for this item, settingaddUnknownValues
to true will not cause a null option to show up at the top of the select item pickList. Whether an empty option is shown in the pickList is governed byallowEmptyValue
instead.Note that this property has no effect if the selectItem has a specified
optionDataSource
. IfsetValue()
is called on a databound SelectItem and the new value does not match any loaded options, the value will be accepted, but not added to the options displayed in the pickList. Also note that if adisplayField
exists, a fetch will be performed in an attempt to retrieve a valid display value, as described underFormItem.fetchMissingValues
. If specified theFormItem.loadingDisplayValue
will be displayed while the fetch is in progress, and then the real value (mapped to a display field value if a matching record was found) will be displayed when the fetch completes.- Returns:
- Current addUnknownValues value. Default value is true
- See Also:
-
setAllowEmptyValue
If set to true, always show an empty option in this item's pickList, allowing the user to clear the value (even if there is no empty entry in the valueMap for the item).The empty value will be displayed with the
emptyDisplayValue
.With a
databound selectItem
, enablingallowEmptyValue
disables data paging by default - all data matching the current criteria will be requested. However, enablingseparateSpecialValues
allows data paging to be used if required.See also
specialValues
as a way of providing several different special values in addition to an empty value, such as "Invalid". Note that settingspecialValues
disables the use ofallowEmptyValue
- see details of how to have an empty value while usingspecialValues
in inthe
.specialValues
documentation- Parameters:
allowEmptyValue
- New allowEmptyValue value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls
-
getAllowEmptyValue
If set to true, always show an empty option in this item's pickList, allowing the user to clear the value (even if there is no empty entry in the valueMap for the item).The empty value will be displayed with the
emptyDisplayValue
.With a
databound selectItem
, enablingallowEmptyValue
disables data paging by default - all data matching the current criteria will be requested. However, enablingseparateSpecialValues
allows data paging to be used if required.See also
specialValues
as a way of providing several different special values in addition to an empty value, such as "Invalid". Note that settingspecialValues
disables the use ofallowEmptyValue
- see details of how to have an empty value while usingspecialValues
in inthe
.specialValues
documentation- Returns:
- Current allowEmptyValue value. Default value is false
-
setAllowMultiCharSearch
By default, if multiple keys are pressed in quick succession, a SelectItem will buffer them together and use the resulting multi-char string when searching. Set this attribute to false to force the item to match only one character at a time.- Parameters:
allowMultiCharSearch
- New allowMultiCharSearch value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls
-
getAllowMultiCharSearch
public boolean getAllowMultiCharSearch()By default, if multiple keys are pressed in quick succession, a SelectItem will buffer them together and use the resulting multi-char string when searching. Set this attribute to false to force the item to match only one character at a time.- Returns:
- Current allowMultiCharSearch value. Default value is true
-
setAutoFetchData
If this select item retrieves its options from adataSource
, should options be fetched from the server when the item is first drawn, or should this fetch be delayed until the user opens the pickList.The default is true in order to allow the user to select a value via keyboard input while keyboard focus is on the SelectItem but the pickList has not actually been shown.
Note : This is an advanced setting
- Parameters:
autoFetchData
- New autoFetchData value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls
-
getAutoFetchData
If this select item retrieves its options from adataSource
, should options be fetched from the server when the item is first drawn, or should this fetch be delayed until the user opens the pickList.The default is true in order to allow the user to select a value via keyboard input while keyboard focus is on the SelectItem but the pickList has not actually been shown.
- Returns:
- Current autoFetchData value. Default value is true
-
setAutoOpenTree
When this item is showing a tree-based picker, which nodes should be opened automatically. Options are:- "none" - no nodes are opened automatically
- "root" - opens the top-level node - in databound tree-pickers, this node is always hidden
- "all" - when
loading data on demand
, opens the top-level node and all of it's direct descendants - otherwise, opens all loaded nodes
- Parameters:
autoOpenTree
- New autoOpenTree value. Default value is "none"- Returns:
SelectItem
instance, for chaining setter calls
-
getAutoOpenTree
When this item is showing a tree-based picker, which nodes should be opened automatically. Options are:- "none" - no nodes are opened automatically
- "root" - opens the top-level node - in databound tree-pickers, this node is always hidden
- "all" - when
loading data on demand
, opens the top-level node and all of it's direct descendants - otherwise, opens all loaded nodes
- Returns:
- Current autoOpenTree value. Default value is "none"
-
setCachePickListResults
For databound pickLists (see PickList.optionDataSource), by default Smart GWT will cache and re-use datasets shown by pickLists in an LRU (least recently used) caching pattern.Setting this flag to false avoids this caching for situations where it is too aggressive.
- Parameters:
cachePickListResults
- New cachePickListResults value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls
-
getCachePickListResults
For databound pickLists (see PickList.optionDataSource), by default Smart GWT will cache and re-use datasets shown by pickLists in an LRU (least recently used) caching pattern.Setting this flag to false avoids this caching for situations where it is too aggressive.
- Returns:
- Current cachePickListResults value. Default value is true
-
setCanSelectText
By default SelectItems do not allow users to select the text of the selected value.- Overrides:
setCanSelectText
in classFormItem
- Parameters:
canSelectText
- New canSelectText value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls
-
getCanSelectText
public boolean getCanSelectText()By default SelectItems do not allow users to select the text of the selected value.- Overrides:
getCanSelectText
in classFormItem
- Returns:
- Current canSelectText value. Default value is false
-
setClickMaskMode
Determines the behavior of the click-mask thrown up when this pickList is visible.The default value, "hard", matches the familiar behavior of combos and selects on Windows, Mac and other platforms - mouse-events such as rollovers are blocked and, when a click is received, the picker is hidden and the event is cancelled.
When
clickMaskMode
is "soft", mouse-events continue to fire, meaning that rollover styles, for example, continue to be updated. When a click is received in this mode, the picker is hidden and the click event is allowed to proceed to its target - this means that clicking an item with an open picker will re-open the picker.- Parameters:
clickMaskMode
- New clickMaskMode value. Default value is "hard"- Returns:
SelectItem
instance, for chaining setter calls
-
getClickMaskMode
Determines the behavior of the click-mask thrown up when this pickList is visible.The default value, "hard", matches the familiar behavior of combos and selects on Windows, Mac and other platforms - mouse-events such as rollovers are blocked and, when a click is received, the picker is hidden and the event is cancelled.
When
clickMaskMode
is "soft", mouse-events continue to fire, meaning that rollover styles, for example, continue to be updated. When a click is received in this mode, the picker is hidden and the click event is allowed to proceed to its target - this means that clicking an item with an open picker will re-open the picker.- Returns:
- Current clickMaskMode value. Default value is "hard"
-
setControlStyle
Base CSS class name for a form item's "control box". This is an HTML element which contains the text box and picker icon for the item.See
FormItem.alwaysShowControlBox
for details on when the control box is written out.See
FormItemStyling
for an overview of formItem styling, and theCompoundFormItem_skinning
discussion for special skinning considerations.Note : This is an advanced setting
- Overrides:
setControlStyle
in classFormItem
- Parameters:
controlStyle
- New controlStyle value. Default value is "selectItemControl"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getControlStyle
Base CSS class name for a form item's "control box". This is an HTML element which contains the text box and picker icon for the item.See
FormItem.alwaysShowControlBox
for details on when the control box is written out.See
FormItemStyling
for an overview of formItem styling, and theCompoundFormItem_skinning
discussion for special skinning considerations.- Overrides:
getControlStyle
in classFormItem
- Returns:
- Current controlStyle value. Default value is "selectItemControl"
- See Also:
-
setDataSetType
Whether to show the picker as a flat list, or a collapsible tree.The default value, "list", will use an instance of the pickListConstructor as the picker - "tree" will show an instance of pickTreeConstructor.
- Parameters:
dataSetType
- New dataSetType value. Default value is "list"- Returns:
SelectItem
instance, for chaining setter calls
-
getDataSetType
Whether to show the picker as a flat list, or a collapsible tree.The default value, "list", will use an instance of the pickListConstructor as the picker - "tree" will show an instance of pickTreeConstructor.
- Returns:
- Current dataSetType value. Default value is "list"
-
setDefaultToFirstOption
Select the first option as the default value for this SelectItem.If options are derived from a dataSource, the first value returned by the server will be used, otherwise the first value in the valueMap. Note that setting this property to true will trigger a fetch at soon as the form is created, because the form will try to establish a default value at that time.
If enabled, this setting overrides
defaultValue
anddefaultDynamicValue()
.- Parameters:
defaultToFirstOption
- New defaultToFirstOption value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls
-
getDefaultToFirstOption
Select the first option as the default value for this SelectItem.If options are derived from a dataSource, the first value returned by the server will be used, otherwise the first value in the valueMap. Note that setting this property to true will trigger a fetch at soon as the form is created, because the form will try to establish a default value at that time.
If enabled, this setting overrides
defaultValue
anddefaultDynamicValue()
.- Returns:
- Current defaultToFirstOption value. Default value is false
-
getDefaultValue
Static default value for this SelectItem. To default to the first option usedefaultToFirstOption
instead.- Overrides:
getDefaultValue
in classFormItem
- Returns:
- Current defaultValue value. Default value is null
- See Also:
-
com.smartgwt.client.widgets.form.fields.FormItem#defaultDynamicValue
- Enable & Disable Example
-
setDisplayField
If set, this item will display a value from another field to the user instead of showing the underlying data value for thefield name
.This property is used in two ways:
The item will display the displayField value from the
record currently being edited
ifFormItem.useLocalDisplayFieldValue
is true, (or if unset and the conditions outlined in the documentation for that property are met).If this field has an
FormItem.optionDataSource
, this property is used by default to identify which value to use as a display value in records from this related dataSource. In this usage the specified displayField must be explicitly defined in the optionDataSource to be used - seegetDisplayFieldName()
for more on this behavior.
If not usinglocal display values
, the display value for this item will be derived by performing a fetch against theoption dataSource
to find a record where thevalue field
matches this item's value, and use thedisplayField
value from that record.
In addition to this, PickList-based form items that provide a list of possible options such as theSelectItem
orComboBoxItem
will show thedisplayField
values to the user by default, allowing them to choose a new data value (seeFormItem.valueField
) from a list of user-friendly display values.This essentially allows the specified
optionDataSource
to be used as a server basedvalueMap
.If
local display values
are being used andFormItem.storeDisplayValues
is true, selecting a new value will update both the value for this field and the associated display-field value on the record being edited.Note: Developers may specify the
FormItem.foreignDisplayField
property in addition todisplayField
. This is useful for cases where the display field name in the local dataSource differs from the display field name in the optionDataSource. See the documentation forDataSourceField.foreignDisplayField
for more on this.
If a foreignDisplayField is specified, as with just displayField, iflocal display values
are being used andFormItem.storeDisplayValues
is true, when the user chooses a value the associated display-field value on the record being edited will be updated. In this case it would be set to the foreignDisplayField value from the related record. This means foreignDisplayField is always expected to be set to the equivalent field in the related dataSources.
Developers looking to display some other arbitrary field(s) from the related dataSource during editing should consider using custom PickList.pickListFields instead of setting a foreignDisplayField.Note that if
optionDataSource
is set and no valid display field is specified,FormItem.getDisplayFieldName()
will return the dataSource title field by default.If a displayField is specified for a freeform text based item (such as a
ComboBoxItem
), any user-entered value will be treated as a display value. In this scenario, items will derive the data value for the item from the first record where the displayField value matches the user-entered value. To avoid ambiguity, developers may wish to avoid this usage if display values are not unique.- Specified by:
setDisplayField
in interfacePickList
- Overrides:
setDisplayField
in classFormItem
- Parameters:
displayField
- New displayField value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getDisplayField
If set, this item will display a value from another field to the user instead of showing the underlying data value for thefield name
.This property is used in two ways:
The item will display the displayField value from the
record currently being edited
ifFormItem.useLocalDisplayFieldValue
is true, (or if unset and the conditions outlined in the documentation for that property are met).If this field has an
FormItem.optionDataSource
, this property is used by default to identify which value to use as a display value in records from this related dataSource. In this usage the specified displayField must be explicitly defined in the optionDataSource to be used - seegetDisplayFieldName()
for more on this behavior.
If not usinglocal display values
, the display value for this item will be derived by performing a fetch against theoption dataSource
to find a record where thevalue field
matches this item's value, and use thedisplayField
value from that record.
In addition to this, PickList-based form items that provide a list of possible options such as theSelectItem
orComboBoxItem
will show thedisplayField
values to the user by default, allowing them to choose a new data value (seeFormItem.valueField
) from a list of user-friendly display values.This essentially allows the specified
optionDataSource
to be used as a server basedvalueMap
.If
local display values
are being used andFormItem.storeDisplayValues
is true, selecting a new value will update both the value for this field and the associated display-field value on the record being edited.Note: Developers may specify the
FormItem.foreignDisplayField
property in addition todisplayField
. This is useful for cases where the display field name in the local dataSource differs from the display field name in the optionDataSource. See the documentation forDataSourceField.foreignDisplayField
for more on this.
If a foreignDisplayField is specified, as with just displayField, iflocal display values
are being used andFormItem.storeDisplayValues
is true, when the user chooses a value the associated display-field value on the record being edited will be updated. In this case it would be set to the foreignDisplayField value from the related record. This means foreignDisplayField is always expected to be set to the equivalent field in the related dataSources.
Developers looking to display some other arbitrary field(s) from the related dataSource during editing should consider using custom PickList.pickListFields instead of setting a foreignDisplayField.Note that if
optionDataSource
is set and no valid display field is specified,FormItem.getDisplayFieldName()
will return the dataSource title field by default.If a displayField is specified for a freeform text based item (such as a
ComboBoxItem
), any user-entered value will be treated as a display value. In this scenario, items will derive the data value for the item from the first record where the displayField value matches the user-entered value. To avoid ambiguity, developers may wish to avoid this usage if display values are not unique.- Specified by:
getDisplayField
in interfacePickList
- Overrides:
getDisplayField
in classFormItem
- Returns:
- Returns the
displayField
for this item.Behavior varies based on the configuration of this item, as follows:
- If this item has an
optionDataSource
and an explicitFormItem.foreignDisplayField
is specified, this will be returned. - Otherwise if an explicit
displayField
is specified it will be returned by default. If thedisplayField
was specified on the underlying dataSource field, and no matching field is present in theoptionDataSource
for the item, we avoid returning the specified displayField value and instead return the title field of the option DataSource. We do this to avoid confusion for the case where the displayField is intended as a display-field value for showing another field value within the same record in the underlying dataSource only. - If no explicit foreignDisplay or
displayField specification was found, and the
FormItem.valueField
for this item is hidden in theFormItem.optionDataSource
, this method will return the title field for theoptionDataSource
.
- If this item has an
- See Also:
-
setEditProxyConstructor
Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.- Overrides:
setEditProxyConstructor
in classFormItem
- Parameters:
editProxyConstructor
- New editProxyConstructor value. Default value is "SelectItemEditProxy"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getEditProxyConstructor
Default class used to construct theEditProxy
for this component when the component isfirst placed into edit mode
.- Overrides:
getEditProxyConstructor
in classFormItem
- Returns:
- Current editProxyConstructor value. Default value is "SelectItemEditProxy"
- See Also:
-
setEmptyDisplayValue
Text to display when this form item has a null or undefined value.If the formItem has a databound pickList, and its
FormItem.displayField
orFormItem.valueField
(if the former isn't set) has an undefinedemptyCellValue
setting, that field'semptyCellValue
will automatically be set to theemptyDisplayValue
.- Overrides:
setEmptyDisplayValue
in classFormItem
- Parameters:
emptyDisplayValue
- New emptyDisplayValue value. Default value is " "- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getEmptyDisplayValue
Text to display when this form item has a null or undefined value.If the formItem has a databound pickList, and its
FormItem.displayField
orFormItem.valueField
(if the former isn't set) has an undefinedemptyCellValue
setting, that field'semptyCellValue
will automatically be set to theemptyDisplayValue
.- Overrides:
getEmptyDisplayValue
in classFormItem
- Returns:
- Current emptyDisplayValue value. Default value is " "
- See Also:
-
setEmptyPickListMessage
Empty message to display in the selectItem if PickList.hideEmptyPickList isfalse
.Note : This is an advanced setting
- Specified by:
setEmptyPickListMessage
in interfacePickList
- Parameters:
emptyPickListMessage
- New emptyPickListMessage value. Default value is "No items to show"- Returns:
SelectItem
instance, for chaining setter calls
-
getEmptyPickListMessage
Empty message to display in the selectItem if PickList.hideEmptyPickList isfalse
.- Specified by:
getEmptyPickListMessage
in interfacePickList
- Returns:
- Current emptyPickListMessage value. Default value is "No items to show"
-
setEscapeHTML
By default HTML values in a selectItem will be interpreted by the browser. Setting this flag to true will causes HTML characters to be escaped, meaning the raw value of the field (for example"<b>AAA</b>"
) is displayed to the user rather than the interpreted HTML (for example"AAA"
)- Overrides:
setEscapeHTML
in classFormItem
- Parameters:
escapeHTML
- New escapeHTML value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getEscapeHTML
By default HTML values in a selectItem will be interpreted by the browser. Setting this flag to true will causes HTML characters to be escaped, meaning the raw value of the field (for example"<b>AAA</b>"
) is displayed to the user rather than the interpreted HTML (for example"AAA"
)- Overrides:
getEscapeHTML
in classFormItem
- Returns:
- Current escapeHTML value. Default value is false
- See Also:
-
setFetchDisplayedFieldsOnly
If this item has a specifiedoptionDataSource
and this property istrue
, the list of fields used by this pickList will be passed to the datasource asDSRequest.outputs
. If the datasource supports this feature the returned fields will be limited to this list. A custom datasource will need to add code to implement field limiting.This list of used fields consists of the values of
valueField
,displayField
andpickListFields
.NOTE: When enabled,
getSelectedRecord
will only include the fetched fields.Note : This is an advanced setting
- Parameters:
fetchDisplayedFieldsOnly
- New fetchDisplayedFieldsOnly value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getFetchDisplayedFieldsOnly
If this item has a specifiedoptionDataSource
and this property istrue
, the list of fields used by this pickList will be passed to the datasource asDSRequest.outputs
. If the datasource supports this feature the returned fields will be limited to this list. A custom datasource will need to add code to implement field limiting.This list of used fields consists of the values of
valueField
,displayField
andpickListFields
.NOTE: When enabled,
getSelectedRecord
will only include the fetched fields.- Returns:
- Current fetchDisplayedFieldsOnly value. Default value is null
-
setFilterLocally
IffilterLocally
is set for this item, and this item is showing options from a dataSource, fetch the entire set of options from the server, and use these values to map the item value to the appropriate display value. Also use"local"
type filtering on drop down list of options.This means data will only be fetched once from the server, and then filtered on the client.
Note - when this property is set to
false
, filtering will still be performed on the client if a complete set of data for some criteria has been cached by a fetch, and a subsequent fetch has more restrictive criteria. To explicitly disable client-side filtering set theuseClientFiltering
property to false.Note : This is an advanced setting
- Specified by:
setFilterLocally
in interfacePickList
- Overrides:
setFilterLocally
in classFormItem
- Parameters:
filterLocally
- New filterLocally value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getFilterLocally
IffilterLocally
is set for this item, and this item is showing options from a dataSource, fetch the entire set of options from the server, and use these values to map the item value to the appropriate display value. Also use"local"
type filtering on drop down list of options.This means data will only be fetched once from the server, and then filtered on the client.
Note - when this property is set to
false
, filtering will still be performed on the client if a complete set of data for some criteria has been cached by a fetch, and a subsequent fetch has more restrictive criteria. To explicitly disable client-side filtering set theuseClientFiltering
property to false.- Specified by:
getFilterLocally
in interfacePickList
- Overrides:
getFilterLocally
in classFormItem
- Returns:
- Current filterLocally value. Default value is false
- See Also:
-
setIconPlacement
For PickList items withPickListItemIconPlacement
set such that the pickList does not render near-origin, should specifiedicons
be rendered inline within the formItem itself, or within thepickerNavigationBar
.May be overridden at the icon level via
FormItemIcon.iconPlacement
.For mobile browsing with limited available screen space, icons rendered in the navigation bar may be easier for the user to interact with.
- Parameters:
iconPlacement
- New iconPlacement value. Default value is "both"- Returns:
SelectItem
instance, for chaining setter calls
-
getIconPlacement
For PickList items withPickListItemIconPlacement
set such that the pickList does not render near-origin, should specifiedicons
be rendered inline within the formItem itself, or within thepickerNavigationBar
.May be overridden at the icon level via
FormItemIcon.iconPlacement
.For mobile browsing with limited available screen space, icons rendered in the navigation bar may be easier for the user to interact with.
- Returns:
- Current iconPlacement value. Default value is "both"
-
setInitialSort
An array ofSortSpecifier
objects used to set up the initial sort configuration for this pickList. If specified, this will be used instead of any PickList.sortField specified.- Parameters:
initialSort
- New initialSort value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getInitialSort
An array ofSortSpecifier
objects used to set up the initial sort configuration for this pickList. If specified, this will be used instead of any PickList.sortField specified.- Returns:
- Current initialSort value. Default value is null
-
setMultiple
If true, multiple values may be selected.The SelectItem will either render as a drop-down allowing multiple selections, or a multi-row list of options similar to a small headerless
ListGrid
, based on theMultipleAppearance
setting.The logical value of the formItem, as retrieved by
getValue()
and set viasetValue()
, is an Array of Strings reflecting the selected values.When this value is true, we disable doubleClick events by default, instead issuing two single clicks by forcibly setting
noDoubleClicks: true
. If you need to work with doubleClick events, you can disable this default behavior by explicitly setting formItem.pickListProperties.noDoubleClicks: false.Note:
multiple:true
SelectItems with multipleAppearance:"grid" do not currently support optionDataSource binding. You can get around this by callingDataSource.fetchData()
directly and callingdsResponse.data.getValueMap()
to obtain a valueMap.If the
multiple
attribute is not explicitly specified, it will default tofalse
, unless thie item has a specifiedvalueMap
and is part of afilter interface
withSearchForm.useMultiSelectForValueMaps
set to true.- Overrides:
setMultiple
in classFormItem
- Parameters:
multiple
- New multiple value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getMultiple
If true, multiple values may be selected.The SelectItem will either render as a drop-down allowing multiple selections, or a multi-row list of options similar to a small headerless
ListGrid
, based on theMultipleAppearance
setting.The logical value of the formItem, as retrieved by
getValue()
and set viasetValue()
, is an Array of Strings reflecting the selected values.When this value is true, we disable doubleClick events by default, instead issuing two single clicks by forcibly setting
noDoubleClicks: true
. If you need to work with doubleClick events, you can disable this default behavior by explicitly setting formItem.pickListProperties.noDoubleClicks: false.Note:
multiple:true
SelectItems with multipleAppearance:"grid" do not currently support optionDataSource binding. You can get around this by callingDataSource.fetchData()
directly and callingdsResponse.data.getValueMap()
to obtain a valueMap.If the
multiple
attribute is not explicitly specified, it will default tofalse
, unless thie item has a specifiedvalueMap
and is part of afilter interface
withSearchForm.useMultiSelectForValueMaps
set to true.- Overrides:
getMultiple
in classFormItem
- Returns:
- Current multiple value. Default value is null
- See Also:
-
setMultipleAppearance
How should items withmultiple
set to 'true' be displayed?- Parameters:
multipleAppearance
- New multipleAppearance value. Default value is "picklist"- Returns:
SelectItem
instance, for chaining setter calls
-
getMultipleAppearance
How should items withmultiple
set to 'true' be displayed?- Returns:
- Current multipleAppearance value. Default value is "picklist"
-
setOpenOnDownArrow
Causes the PickList to open when the down arrow is pressed, default false.For native OS widgets, the down arrow changes the value of a select on Windows, but opens the select on Macs. This setting is not recommended unless you are certain that all users of your applications will expect the Mac convention.
- Parameters:
openOnDownArrow
- New openOnDownArrow value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls
-
getOpenOnDownArrow
Causes the PickList to open when the down arrow is pressed, default false.For native OS widgets, the down arrow changes the value of a select on Windows, but opens the select on Macs. This setting is not recommended unless you are certain that all users of your applications will expect the Mac convention.
- Returns:
- Current openOnDownArrow value. Default value is false
-
setOpenOnSpace
Causes the PickList to open when the spacebar is pressed, default false.For native OS widgets, space opens the PickList on Macs, but not on Windows. Consider using this setting if your users are almost entirely Mac users, or enabling it only for users running MacOS.
However, before using this setting, consider that it means that Spacebar will not be able to be used for another purpose when focus is in a SelectItem.
- Parameters:
openOnSpace
- New openOnSpace value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls
-
getOpenOnSpace
Causes the PickList to open when the spacebar is pressed, default false.For native OS widgets, space opens the PickList on Macs, but not on Windows. Consider using this setting if your users are almost entirely Mac users, or enabling it only for users running MacOS.
However, before using this setting, consider that it means that Spacebar will not be able to be used for another purpose when focus is in a SelectItem.
- Returns:
- Current openOnSpace value. Default value is false
-
setOptionOperationId
If this item has a specifiedoptionDataSource
, this attribute may be set to specify an explicitDSRequest.operationId
when performing a fetch against the option dataSource to pick up display value mapping.- Overrides:
setOptionOperationId
in classFormItem
- Parameters:
optionOperationId
- New optionOperationId value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getOptionOperationId
If this item has a specifiedoptionDataSource
, this attribute may be set to specify an explicitDSRequest.operationId
when performing a fetch against the option dataSource to pick up display value mapping.- Overrides:
getOptionOperationId
in classFormItem
- Returns:
- Current optionOperationId value. Default value is null
- See Also:
-
getPickerClearButton
NavigationButton
to clear the picker value, created whenpickListPlacement
indicates that the search interface takes over the entire panel or screen.This button will only be shown if
allowEmptyValue
is true.The following
passthroughs
apply:This component is an AutoChild named "pickerClearButton". For an overview of how to use and configure AutoChildren, see
Using AutoChildren
.- Returns:
- Current pickerClearButton value. Default value is null
-
setPickerClearButtonTitle
The title for thepickerClearButton
.- Parameters:
pickerClearButtonTitle
- New pickerClearButtonTitle value. Default value is "Clear"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickerClearButtonTitle
The title for thepickerClearButton
.- Returns:
- Current pickerClearButtonTitle value. Default value is "Clear"
- See Also:
-
getPickerExitButton
NavigationButton
to dismiss the picker interface, created whenpickListPlacement
indicates that the search interface takes over the entire panel or screen.The following
passthroughs
apply:This component is an AutoChild named "pickerExitButton". For an overview of how to use and configure AutoChildren, see
Using AutoChildren
.- Returns:
- Current pickerExitButton value. Default value is null
-
setPickerExitButtonTitle
The title for thepickerExitButton
.- Parameters:
pickerExitButtonTitle
- New pickerExitButtonTitle value. Default value is "Done"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickerExitButtonTitle
The title for thepickerExitButton
.- Returns:
- Current pickerExitButtonTitle value. Default value is "Done"
- See Also:
-
setPickerIconHeight
IfshowPickerIcon
is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.Note that if spriting is being used, and the image to be displayed is specified using css properties such as
background-image
,background-size
, changing this value may result in an unexpected appearance as the image will not scale.
Scaleable spriting can be achieved using theSCSpriteConfig
format. See the section on spriting in theskinning overview
for further information.Note : This is an advanced setting
- Overrides:
setPickerIconHeight
in classFormItem
- Parameters:
pickerIconHeight
- New pickerIconHeight value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getPickerIconHeight
IfshowPickerIcon
is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.Note that if spriting is being used, and the image to be displayed is specified using css properties such as
background-image
,background-size
, changing this value may result in an unexpected appearance as the image will not scale.
Scaleable spriting can be achieved using theSCSpriteConfig
format. See the section on spriting in theskinning overview
for further information.- Overrides:
getPickerIconHeight
in classFormItem
- Returns:
- Current pickerIconHeight value. Default value is null
-
setPickerIconSrc
IfshowPickerIcon
is true for this item, this property governs thesrc
of the picker icon image to be displayed.When
spriting
is enabled, this property will not be used to locate an image, instead, the image is drawn via CSS based on thepickerIconStyle
property.Note : This is an advanced setting
- Overrides:
setPickerIconSrc
in classFormItem
- Parameters:
pickerIconSrc
- New pickerIconSrc value. Default value is "[SKIN]/DynamicForm/SelectItem_PickButton_icon.gif"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickerIconSrc
IfshowPickerIcon
is true for this item, this property governs thesrc
of the picker icon image to be displayed.When
spriting
is enabled, this property will not be used to locate an image, instead, the image is drawn via CSS based on thepickerIconStyle
property.- Overrides:
getPickerIconSrc
in classFormItem
- Returns:
- Current pickerIconSrc value. Default value is "[SKIN]/DynamicForm/SelectItem_PickButton_icon.gif"
- See Also:
-
setPickerIconStyle
Base CSS class name for a form item's picker icon cell. If unset, inherits from this item'scontrolStyle
.- Overrides:
setPickerIconStyle
in classFormItem
- Parameters:
pickerIconStyle
- New pickerIconStyle value. Default value is "selectItemPickerIcon"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickerIconStyle
Base CSS class name for a form item's picker icon cell. If unset, inherits from this item'scontrolStyle
.- Overrides:
getPickerIconStyle
in classFormItem
- Returns:
- Current pickerIconStyle value. Default value is "selectItemPickerIcon"
- See Also:
-
setPickerIconWidth
IfshowPickerIcon
is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.Note that if spriting is being used, and the image to be displayed is specified using css properties such as
background-image
,background-size
, changing this value may result in an unexpected appearance as the image will not scale.
Scaleable spriting can be achieved using theSCSpriteConfig
format. See the section on spriting in theskinning overview
for further information.Note : This is an advanced setting
- Overrides:
setPickerIconWidth
in classFormItem
- Parameters:
pickerIconWidth
- New pickerIconWidth value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getPickerIconWidth
IfshowPickerIcon
is true for this item, this property governs the size of the picker icon. If unset, the picker icon will be sized as a square to fit in the available height for the icon.Note that if spriting is being used, and the image to be displayed is specified using css properties such as
background-image
,background-size
, changing this value may result in an unexpected appearance as the image will not scale.
Scaleable spriting can be achieved using theSCSpriteConfig
format. See the section on spriting in theskinning overview
for further information.- Overrides:
getPickerIconWidth
in classFormItem
- Returns:
- Current pickerIconWidth value. Default value is null
-
getPickList
ListGrid-based AutoChild created by the system to display a list of pickable options for this item.The pickList is automatically generated and displayed by the system when necessary. It may be customized via properties such as
pickListConstructor
,pickTreeConstructor
,pickListProperties
and more. See the PickList overview for more information.Accessing the generated pickList at runtime is an advanced usage. In most cases developers should not modify this generated component directly but should instead use attributes on the formItem to configure it.
This component is an AutoChild named "pickList". For an overview of how to use and configure AutoChildren, see
Using AutoChildren
.- Returns:
- Current pickList value. Default value is null
-
setPickListConstructor
The Class to use when creating a picker of type "list" for a FormItem. Must be a subclass of the builtin default,PickListMenu
.- Parameters:
pickListConstructor
- New pickListConstructor value. Default value is "PickListMenu"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickListConstructor
The Class to use when creating a picker of type "list" for a FormItem. Must be a subclass of the builtin default,PickListMenu
.- Returns:
- Current pickListConstructor value. Default value is "PickListMenu"
- See Also:
-
setPickListCriteria
If this item has a databound pickList (for example PickList.optionDataSource is set), this property can be used to provide static filter criteria when retrieving the data for the pickList.Note : This is an advanced setting
- Specified by:
setPickListCriteria
in interfacePickList
- Parameters:
pickListCriteria
- New pickListCriteria value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickListCriteria
If this item has a databound pickList (for example PickList.optionDataSource is set), this property can be used to provide static filter criteria when retrieving the data for the pickList.- Specified by:
getPickListCriteria
in interfacePickList
- Returns:
- Current pickListCriteria value. Default value is null
- See Also:
-
setPickListFields
This property allows the developer to specify which field[s] will be displayed in the drop down list of options.Only applies to databound pickLists (see PickList.optionDataSource, or pickLists with custom data set up via the advanced PickList.getClientPickListData() method.
If this property is unset, we display the PickList.displayField, if specified, otherwise the PickList.valueField.
If there are multiple fields, column headers will be shown for each field, the height of which can be customized via the PickList.pickListHeaderHeight attribute.
Each field to display should be specified as a
ListGridField
object. Note that unlike inlistGrids
, dataSource fields marked ashidden:true
will be hidden by default in pickLists. To override this behavior, ensure that you specify an explicit value forshowIf
.Note : This is an advanced setting
- Parameters:
pickListFields
- New pickListFields value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickListFields
This property allows the developer to specify which field[s] will be displayed in the drop down list of options.Only applies to databound pickLists (see PickList.optionDataSource, or pickLists with custom data set up via the advanced PickList.getClientPickListData() method.
If this property is unset, we display the PickList.displayField, if specified, otherwise the PickList.valueField.
If there are multiple fields, column headers will be shown for each field, the height of which can be customized via the PickList.pickListHeaderHeight attribute.
Each field to display should be specified as a
ListGridField
object. Note that unlike inlistGrids
, dataSource fields marked ashidden:true
will be hidden by default in pickLists. To override this behavior, ensure that you specify an explicit value forshowIf
.- Returns:
- Current pickListFields value. Default value is null
- See Also:
-
setPickListPlacement
Controls where the PickList is placed. Can be specified as aPanelPlacement
or a specific widget that should be filled (by specifying an actual Canvas orCanvas.ID
).Default behavior is to
"fillPanel"
ifisHandset
orisTablet
, to better accommodate the smaller screen real estate and less precise pointing ability on such devices.When filling the whole screen, part of the screen or a specific panel, the expanded interface is created as a
standard FormItem picker
, and incorporates anavigation bar
anddone button
that hides the expanded interface.- Parameters:
pickListPlacement
- New pickListPlacement value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getPickListPlacement
Controls where the PickList is placed. Can be specified as aPanelPlacement
or a specific widget that should be filled (by specifying an actual Canvas orCanvas.ID
).Default behavior is to
"fillPanel"
ifisHandset
orisTablet
, to better accommodate the smaller screen real estate and less precise pointing ability on such devices.When filling the whole screen, part of the screen or a specific panel, the expanded interface is created as a
standard FormItem picker
, and incorporates anavigation bar
anddone button
that hides the expanded interface.- Returns:
- Current pickListPlacement value. Default value is null
-
setPickListPlacement
Controls where the PickList is placed. Can be specified as aPanelPlacement
or a specific widget that should be filled (by specifying an actual Canvas orCanvas.ID
).Default behavior is to
"fillPanel"
ifisHandset
orisTablet
, to better accommodate the smaller screen real estate and less precise pointing ability on such devices.When filling the whole screen, part of the screen or a specific panel, the expanded interface is created as a
standard FormItem picker
, and incorporates anavigation bar
anddone button
that hides the expanded interface.- Parameters:
pickListPlacement
- New pickListPlacement value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getPickListPlacementAsCanvas
Controls where the PickList is placed. Can be specified as aPanelPlacement
or a specific widget that should be filled (by specifying an actual Canvas orCanvas.ID
).Default behavior is to
"fillPanel"
ifisHandset
orisTablet
, to better accommodate the smaller screen real estate and less precise pointing ability on such devices.When filling the whole screen, part of the screen or a specific panel, the expanded interface is created as a
standard FormItem picker
, and incorporates anavigation bar
anddone button
that hides the expanded interface.- Returns:
- Current pickListPlacement value. Default value is null
-
setPickListPlacement
Controls where the PickList is placed. Can be specified as aPanelPlacement
or a specific widget that should be filled (by specifying an actual Canvas orCanvas.ID
).Default behavior is to
"fillPanel"
ifisHandset
orisTablet
, to better accommodate the smaller screen real estate and less precise pointing ability on such devices.When filling the whole screen, part of the screen or a specific panel, the expanded interface is created as a
standard FormItem picker
, and incorporates anavigation bar
anddone button
that hides the expanded interface.- Parameters:
pickListPlacement
- New pickListPlacement value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getPickListPlacementAsString
Controls where the PickList is placed. Can be specified as aPanelPlacement
or a specific widget that should be filled (by specifying an actual Canvas orCanvas.ID
).Default behavior is to
"fillPanel"
ifisHandset
orisTablet
, to better accommodate the smaller screen real estate and less precise pointing ability on such devices.When filling the whole screen, part of the screen or a specific panel, the expanded interface is created as a
standard FormItem picker
, and incorporates anavigation bar
anddone button
that hides the expanded interface.- Returns:
- Current pickListPlacement value. Default value is null
-
setPickTreeConstructor
The Class to use when creating a picker of type "tree" for a FormItem. Must be a subclass of the builtin default, PickTreeMenu.- Parameters:
pickTreeConstructor
- New pickTreeConstructor value. Default value is "PickTreeMenu"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getPickTreeConstructor
The Class to use when creating a picker of type "tree" for a FormItem. Must be a subclass of the builtin default, PickTreeMenu.- Returns:
- Current pickTreeConstructor value. Default value is "PickTreeMenu"
- See Also:
-
setProgressiveLoading
Indicates whether or not this SelectItem will load its list of optionsprogressively
. This property is copied onto the underlying PickList.- Parameters:
progressiveLoading
- New progressiveLoading value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getProgressiveLoading
Indicates whether or not this SelectItem will load its list of optionsprogressively
. This property is copied onto the underlying PickList.- Returns:
- Current progressiveLoading value. Default value is null
- See Also:
-
setRootNodeId
When this item is showing a tree-based picker, this is theid
of the record to use as theroot
node.- Parameters:
rootNodeId
- New rootNodeId value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getRootNodeId
When this item is showing a tree-based picker, this is theid
of the record to use as theroot
node.- Returns:
- Current rootNodeId value. Default value is null
-
setRootNodeId
When this item is showing a tree-based picker, this is theid
of the record to use as theroot
node.- Parameters:
rootNodeId
- New rootNodeId value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getRootNodeIdAsInt
When this item is showing a tree-based picker, this is theid
of the record to use as theroot
node.- Returns:
- Current rootNodeId value. Default value is null
-
setSaveOnEnter
Select items will submit their containing form on enter keypress ifsaveOnEnter
is true. Setting this property tofalse
will disable this behavior.Note that if the drop down list of options (pickList) is visible an
Enter
keypress is used to select a value from the available set of options and will not automatically cause form submission.- Overrides:
setSaveOnEnter
in classFormItem
- Parameters:
saveOnEnter
- New saveOnEnter value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls
-
getSaveOnEnter
Select items will submit their containing form on enter keypress ifsaveOnEnter
is true. Setting this property tofalse
will disable this behavior.Note that if the drop down list of options (pickList) is visible an
Enter
keypress is used to select a value from the available set of options and will not automatically cause form submission.- Overrides:
getSaveOnEnter
in classFormItem
- Returns:
- Current saveOnEnter value. Default value is true
-
setSeparateSpecialValues
If true,special values
such as the empty value will be shown in a separate non-scrolling area, in theseparateValuesList
. Aside from making these values more easily accessible, showing them in a separate list allows data paging to be used, which is disabled if the separateValues are shown in the normal drop-down list along with other values.- Parameters:
separateSpecialValues
- New separateSpecialValues value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getSeparateSpecialValues
If true,special values
such as the empty value will be shown in a separate non-scrolling area, in theseparateValuesList
. Aside from making these values more easily accessible, showing them in a separate list allows data paging to be used, which is disabled if the separateValues are shown in the normal drop-down list along with other values.- Returns:
- Current separateSpecialValues value. Default value is null
-
getSeparateValuesList
AutoChild used to showspecialValues
.This component is an AutoChild named "separateValuesList". For an overview of how to use and configure AutoChildren, see
Using AutoChildren
.- Returns:
- Current separateValuesList value. Default value is null
-
setShowFocused
When this item receives focus, should it be re-styled to indicate it has focus?See
FormItemStyling
for more details on formItem styling.Note : This is an advanced setting
- Overrides:
setShowFocused
in classFormItem
- Parameters:
showFocused
- New showFocused value. Default value is true, [IRWA]- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getShowFocused
When this item receives focus, should it be re-styled to indicate it has focus?See
FormItemStyling
for more details on formItem styling.- Overrides:
getShowFocused
in classFormItem
- Returns:
- Current showFocused value. Default value is true, [IRWA]
- See Also:
-
setShowHintInField
If showing a hint for this form item, should it be shown within the field?CSS style for the hint is
textBoxStyle
with the suffix "Hint" appended to it.- Parameters:
showHintInField
- New showHintInField value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getShowHintInField
If showing a hint for this form item, should it be shown within the field?CSS style for the hint is
textBoxStyle
with the suffix "Hint" appended to it.- Returns:
- Current showHintInField value. Default value is null
- See Also:
-
setShowOptionsFromDataSource
If this item is part of a databound form, and has a specifiedvalueMap
, by default we show the valueMap options in the pickList for the item. Setting this property to true will ensure that the options displayed in our pickList are derived from the form'sdataSource
.Note : This is an advanced setting
- Specified by:
setShowOptionsFromDataSource
in interfacePickList
- Parameters:
showOptionsFromDataSource
- New showOptionsFromDataSource value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getShowOptionsFromDataSource
If this item is part of a databound form, and has a specifiedvalueMap
, by default we show the valueMap options in the pickList for the item. Setting this property to true will ensure that the options displayed in our pickList are derived from the form'sdataSource
.- Specified by:
getShowOptionsFromDataSource
in interfacePickList
- Returns:
- Current showOptionsFromDataSource value. Default value is null
- See Also:
-
setShowOver
When the user rolls over this item, should it be re-styled to indicate it has focus?By default this property is true for SelectItems, and
updateTextBoxOnOver
andupdateControlOnOver
are set to false. This means the picker icon will show over styling when the user rolls over the control table.
These defaults may be overridden by different Smart GWT skins.See
FormItemStyling
for more details on formItem styling.Note : This is an advanced setting
- Overrides:
setShowOver
in classFormItem
- Parameters:
showOver
- New showOver value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getShowOver
public boolean getShowOver()When the user rolls over this item, should it be re-styled to indicate it has focus?By default this property is true for SelectItems, and
updateTextBoxOnOver
andupdateControlOnOver
are set to false. This means the picker icon will show over styling when the user rolls over the control table.
These defaults may be overridden by different Smart GWT skins.See
FormItemStyling
for more details on formItem styling.- Overrides:
getShowOver
in classFormItem
- Returns:
- Current showOver value. Default value is true
- See Also:
-
setShowPickerIcon
Should we show a special 'picker'icon
for this form item? Picker icons are customizable viapickerIconProperties
. By default they will be rendered inside the form item's"control box"
area. By default clicking the pickerIcon will callFormItem.showPicker()
.- Overrides:
setShowPickerIcon
in classFormItem
- Parameters:
showPickerIcon
- New showPickerIcon value. Default value is true- Returns:
SelectItem
instance, for chaining setter calls
-
getShowPickerIcon
Should we show a special 'picker'icon
for this form item? Picker icons are customizable viapickerIconProperties
. By default they will be rendered inside the form item's"control box"
area. By default clicking the pickerIcon will callFormItem.showPicker()
.- Overrides:
getShowPickerIcon
in classFormItem
- Returns:
- Current showPickerIcon value. Default value is true
-
setSingleClickFolderToggle
When this item is showing a tree-based picker, the default behavior is for folder open-state to be toggled by double-clicking. Set this attribute to true to toggle folders on a single-click instead.Note: when set to true, users can only choose leaf-nodes, since clicking folders would simply toggle them.
- Parameters:
singleClickFolderToggle
- New singleClickFolderToggle value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls
-
getSingleClickFolderToggle
public boolean getSingleClickFolderToggle()When this item is showing a tree-based picker, the default behavior is for folder open-state to be toggled by double-clicking. Set this attribute to true to toggle folders on a single-click instead.Note: when set to true, users can only choose leaf-nodes, since clicking folders would simply toggle them.
- Returns:
- Current singleClickFolderToggle value. Default value is false
-
setSortField
Specifies one or more fields by which this item should be initially sorted. It can be afield name
, or an array of field names - but note that, if multiple fields are supplied, then each will be sorted in the samedirection
.For full sorting control, set initialSort to a list of custom
sortSpecifiers
.This attribute can also be set to the index of a field in the fields array, but note that it will be converted to a string (field name) after initialization.
- Parameters:
sortField
- New sortField value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getSortField
Specifies one or more fields by which this item should be initially sorted. It can be afield name
, or an array of field names - but note that, if multiple fields are supplied, then each will be sorted in the samedirection
.For full sorting control, set initialSort to a list of custom
sortSpecifiers
.This attribute can also be set to the index of a field in the fields array, but note that it will be converted to a string (field name) after initialization.
- Returns:
- Current sortField value. Default value is null
- See Also:
-
setSortField
Specifies one or more fields by which this item should be initially sorted. It can be afield name
, or an array of field names - but note that, if multiple fields are supplied, then each will be sorted in the samedirection
.For full sorting control, set initialSort to a list of custom
sortSpecifiers
.This attribute can also be set to the index of a field in the fields array, but note that it will be converted to a string (field name) after initialization.
- Parameters:
sortField
- New sortField value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getSortFieldAsStringArray
Specifies one or more fields by which this item should be initially sorted. It can be afield name
, or an array of field names - but note that, if multiple fields are supplied, then each will be sorted in the samedirection
.For full sorting control, set initialSort to a list of custom
sortSpecifiers
.This attribute can also be set to the index of a field in the fields array, but note that it will be converted to a string (field name) after initialization.
- Returns:
- Current sortField value. Default value is null
- See Also:
-
setSortField
Specifies one or more fields by which this item should be initially sorted. It can be afield name
, or an array of field names - but note that, if multiple fields are supplied, then each will be sorted in the samedirection
.For full sorting control, set initialSort to a list of custom
sortSpecifiers
.This attribute can also be set to the index of a field in the fields array, but note that it will be converted to a string (field name) after initialization.
- Parameters:
sortField
- New sortField value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getSortFieldAsInt
Specifies one or more fields by which this item should be initially sorted. It can be afield name
, or an array of field names - but note that, if multiple fields are supplied, then each will be sorted in the samedirection
.For full sorting control, set initialSort to a list of custom
sortSpecifiers
.This attribute can also be set to the index of a field in the fields array, but note that it will be converted to a string (field name) after initialization.
- Returns:
- Current sortField value. Default value is null
- See Also:
-
setSpecialValues
A set of "special" values such as "All", "None" or "Invalid" that do not appear in the normalcom.smartgwt.client.types.ValueMap
or in the data returned by theoptionDataSource
.Like other uses of
com.smartgwt.client.types.ValueMap
, either a list of values or a mapping from stored to display value can be provided.These values can either be shown at the top of the list of values (in the order specified), or can be shown in a separate, non-scrolling region - the setting
separateSpecialValues
controls this. Note that data paging can only be used ifseparateSpecialValues
is enabled.If
specialValues
are configured,allowEmptyValue
is ignored - an empty value, if desired, must be included in thespecialValues
. To provide aspecialValue
which clears the value of the field, use the special constant emptyStoredValue.specialValues
can also be used to take a value that does appear in the normal data and redundantly display it at the top of the list to make it more accessible. Note that in this case it is expected that the special value appears both at the top of the list and in it's normal position in the list, so this works best withseparateSpecialValues
mode enabled.Also, if an
optionDataSource
is used,specialValues
that appear in the normal dataset will be updated by automaticcache synchronization
(if thedisplayField
is updated). However when using a distinctvalueField
anddisplayField
, you are required to providespecialValues
as a map (there is no support forfetchMissingValues
automatically fetching appropriate display values).Note that specialValues are not supported in conjunction with
MultiComboBoxItem
. Whereas withselectItem.multiple:true
, specialValues will never be normal values that may be selected. So, specialValues should have options such as "Select All", "Select None" and others.- Parameters:
specialValues
- New specialValues value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getSpecialValues
A set of "special" values such as "All", "None" or "Invalid" that do not appear in the normalcom.smartgwt.client.types.ValueMap
or in the data returned by theoptionDataSource
.Like other uses of
com.smartgwt.client.types.ValueMap
, either a list of values or a mapping from stored to display value can be provided.These values can either be shown at the top of the list of values (in the order specified), or can be shown in a separate, non-scrolling region - the setting
separateSpecialValues
controls this. Note that data paging can only be used ifseparateSpecialValues
is enabled.If
specialValues
are configured,allowEmptyValue
is ignored - an empty value, if desired, must be included in thespecialValues
. To provide aspecialValue
which clears the value of the field, use the special constant emptyStoredValue.specialValues
can also be used to take a value that does appear in the normal data and redundantly display it at the top of the list to make it more accessible. Note that in this case it is expected that the special value appears both at the top of the list and in it's normal position in the list, so this works best withseparateSpecialValues
mode enabled.Also, if an
optionDataSource
is used,specialValues
that appear in the normal dataset will be updated by automaticcache synchronization
(if thedisplayField
is updated). However when using a distinctvalueField
anddisplayField
, you are required to providespecialValues
as a map (there is no support forfetchMissingValues
automatically fetching appropriate display values).Note that specialValues are not supported in conjunction with
MultiComboBoxItem
. Whereas withselectItem.multiple:true
, specialValues will never be normal values that may be selected. So, specialValues should have options such as "Select All", "Select None" and others.- Returns:
- Current specialValues value. Default value is null
-
setTextBoxStyle
Base CSS class name for a form item's text box element.See
FormItemStyling
for an overview of formItem styling, and theCompoundFormItem_skinning
discussion for special skinning considerations.If the
textBoxStyle
is changed at runtime,updateState()
must be called to update the visual state of this item.Note : This is an advanced setting
- Overrides:
setTextBoxStyle
in classFormItem
- Parameters:
textBoxStyle
- New textBoxStyle value. Default value is "selectItemText"- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getTextBoxStyle
Base CSS class name for a form item's text box element.See
FormItemStyling
for an overview of formItem styling, and theCompoundFormItem_skinning
discussion for special skinning considerations.If the
textBoxStyle
is changed at runtime,updateState()
must be called to update the visual state of this item.- Overrides:
getTextBoxStyle
in classFormItem
- Returns:
- Current textBoxStyle value. Default value is "selectItemText"
- See Also:
-
setTextMatchStyle
When applying filter criteria to pickList data, what type of matching to use.For a databound pickList (
optionDataSource
set),textMatchStyle
is sent to the server asDSRequest.textMatchStyle
.For a non-databound pickList,
textMatchStyle
is applied by filterClientPickListData().- Specified by:
setTextMatchStyle
in interfacePickList
- Parameters:
textMatchStyle
- New textMatchStyle value. Default value is "startsWith"- Returns:
SelectItem
instance, for chaining setter calls
-
getTextMatchStyle
When applying filter criteria to pickList data, what type of matching to use.For a databound pickList (
optionDataSource
set),textMatchStyle
is sent to the server asDSRequest.textMatchStyle
.For a non-databound pickList,
textMatchStyle
is applied by filterClientPickListData().- Specified by:
getTextMatchStyle
in interfacePickList
- Returns:
- Current textMatchStyle value. Default value is "startsWith"
-
setUpdateControlOnOver
IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).Note : This is an advanced setting
- Overrides:
setUpdateControlOnOver
in classFormItem
- Parameters:
updateControlOnOver
- New updateControlOnOver value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getUpdateControlOnOver
IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the control table element of this item (if present).- Overrides:
getUpdateControlOnOver
in classFormItem
- Returns:
- Current updateControlOnOver value. Default value is false
- See Also:
-
setUpdateTextBoxOnOver
IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.Note : This is an advanced setting
- Overrides:
setUpdateTextBoxOnOver
in classFormItem
- Parameters:
updateTextBoxOnOver
- New updateTextBoxOnOver value. Default value is false- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getUpdateTextBoxOnOver
IfFormItem.showOver
is true, setting this property to false will explicitly disable showing the "Over" state for the TextBox element of this item.- Overrides:
getUpdateTextBoxOnOver
in classFormItem
- Returns:
- Current updateTextBoxOnOver value. Default value is false
- See Also:
-
setUseClientFiltering
Fordatabound
items, this property will be passed to the generated ResultSet data object for the pickList asResultSet.useClientFiltering
. Setting to false will disable filtering on the client and ensure criteria are always passed to the DataSource directly.Note : This is an advanced setting
- Parameters:
useClientFiltering
- New useClientFiltering value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getUseClientFiltering
Fordatabound
items, this property will be passed to the generated ResultSet data object for the pickList asResultSet.useClientFiltering
. Setting to false will disable filtering on the client and ensure criteria are always passed to the DataSource directly.- Returns:
- Current useClientFiltering value. Default value is null
-
setValueField
If this form item maps data values to display values by retrieving theFormItem.displayField
values from anoptionDataSource
, this property denotes the the field to use as the underlying data value in records from the optionDataSource.
If not explicitly supplied, the valueField name will be derived as described inFormItem.getValueFieldName()
.- Specified by:
setValueField
in interfacePickList
- Overrides:
setValueField
in classFormItem
- Parameters:
valueField
- New valueField value. Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getValueField
If this form item maps data values to display values by retrieving theFormItem.displayField
values from anoptionDataSource
, this property denotes the the field to use as the underlying data value in records from the optionDataSource.
If not explicitly supplied, the valueField name will be derived as described inFormItem.getValueFieldName()
.- Specified by:
getValueField
in interfacePickList
- Overrides:
getValueField
in classFormItem
- Returns:
- Getter method to retrieve the
FormItem.valueField
for this item. For items with a specifiedFormItem.optionDataSource
, this determines which field in that dataSource corresponds to the value for this item.If unset, if a
foreignKey relationship
exists between this field and the optionDataSource, this will be used, otherwise default behavior will return theFormItem.name
of this field. Default value is null - See Also:
-
addDataArrivedHandler
Add a dataArrived handler.If this item is showing a dataBound pickList, this notification method will be fired when new data arrives from the server.
- Specified by:
addDataArrivedHandler
in interfaceHasDataArrivedHandlers
- Parameters:
handler
- the dataArrived handler- Returns:
HandlerRegistration
used to remove this handler
-
defaultDynamicValue
Expression evaluated to determine thedefaultValue
when no value is provided for this item. To default to the first option usedefaultToFirstOption
instead.- Parameters:
item
- the form item itself (also available as "this")form
- the managing DynamicForm instancevalues
- the current set of values for the form as a whole- Returns:
- dynamically calculated default value for this item
-
getDisplayFieldName
Returns thedisplayField
for this item.Behavior varies based on the configuration of this item, as follows:
- If this item has an
optionDataSource
and an explicitFormItem.foreignDisplayField
is specified, this will be returned. - Otherwise if an explicit
displayField
is specified it will be returned by default. If thedisplayField
was specified on the underlying dataSource field, and no matching field is present in theoptionDataSource
for the item, we avoid returning the specified displayField value and instead return the title field of the option DataSource. We do this to avoid confusion for the case where the displayField is intended as a display-field value for showing another field value within the same record in the underlying dataSource only. - If no explicit foreignDisplay or
displayField specification was found, and the
FormItem.valueField
for this item is hidden in theFormItem.optionDataSource
, this method will return the title field for theoptionDataSource
.
- Specified by:
getDisplayFieldName
in interfacePickList
- Overrides:
getDisplayFieldName
in classFormItem
- Returns:
- display field name, or null if there is no separate display field to use.
See
FieldName
- If this item has an
-
getSelectedRecords
For a SelectItem with anoptionDataSource
and allowing multiple selection (via multiple:true
), returns the list of currently selected records, or null if none are selected.- Returns:
- the list of selected records, or null if none are selected
-
getValueFieldName
Getter method to retrieve theFormItem.valueField
for this item. For items with a specifiedFormItem.optionDataSource
, this determines which field in that dataSource corresponds to the value for this item.If unset, if a
foreignKey relationship
exists between this field and the optionDataSource, this will be used, otherwise default behavior will return theFormItem.name
of this field.- Specified by:
getValueFieldName
in interfacePickList
- Overrides:
getValueFieldName
in classFormItem
- Returns:
- fieldName to use a "value field" in records from this items
FormItem.optionDataSource
-
pendingStatusChanged
public boolean pendingStatusChanged(DynamicForm form, FormItem item, boolean pendingStatus, Object newValue, Object value) Notification method called whenshowPending
is enabled and thisSelectItem
should either clear or show its pending visual state.The default behavior is that the
titleStyle
andcellStyle
are updated to include/exclude the "Pending" suffix. In addition, amultiple
SelectItem
when displayed in the pending state will applyFormItem.editPendingCSSText
to any new value in the text box and also append "Pending" to the cells'ListGrid.baseStyle
for cells in the pickList menu corresponding to new values. Returningfalse
will cancel this default behavior.- Parameters:
form
- the managingDynamicForm
instance.item
- the form item itself (also available as "this").pendingStatus
-true
if the item should show its pending visual state;false
otherwise.newValue
- the current form item value.value
- the value that would be restored by a call toDynamicForm.resetValues()
.- Returns:
false
to cancel the default behavior.
-
showPicker
public void showPicker()Method to show a picker for this item. By default this method is called if the user clicks on apickerIcon
. May also be called programmatically.Overridden from the default
FormItem.showPicker()
implementation to show the PickList- Overrides:
showPicker
in classFormItem
-
setDefaultProperties
Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties of the class instance passed to this function. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.
- Parameters:
selectItemProperties
- properties that should be used as new defaults when instances of this class are created- See Also:
-
getPickListFilterCriteria
Returns a set of filter criteria to be applied to the data displayed in the pickList when it is shown.
If this is a databound item, the criteria will be passed as criteria to DataSource.fetchData(). Otherwise an equivalent client-side filter will be performed on the data returned by PickList.getClientPickListData().
By default returns PickList.pickListCriteria if specified, otherwise an empty set of criteria so all records will be displayed. Note : this is an override point - if overridden this method will be called by the live form item during filtering. However it is recommended that developers usesetPickListFilterCriteriaFunction(FormItemCriteriaFunction)
to build custom criteria instead of overriding this method directly. This ensures that the custom filter criteria generating code will be called even if the form item was automatically generated based on a template passed toListGridField.setEditorType(com.smartgwt.client.widgets.form.fields.FormItem)
.- Returns:
- criteria to be used for databound or local filtering
-
setSpecialValues
Set the specialValues for this item.- Parameters:
values
- the special values
-
setSpecialValues
Set the specialValues for this item.- Parameters:
valueMap
- the special value map
-
setPickListHeight
public void setPickListHeight(int pickListHeight) Maximum height to show the pick list before it starts to scroll. Note that by default the pickList will be sized to the height required by its content so it will be taller when more rows are available as selectable options.- Specified by:
setPickListHeight
in interfacePickList
- Parameters:
pickListHeight
- pickListHeight Default value is 300
-
getPickListHeight
public int getPickListHeight()Maximum height to show the pick list before it starts to scroll. Note that by default the pickList will be sized to the height required by its content so it will be taller when more rows are available as selectable options.- Specified by:
getPickListHeight
in interfacePickList
- Returns:
- int
-
setEmptyPickListHeight
public void setEmptyPickListHeight(int emptyPickListHeight) Height for an empty pick list (showing the empty message), if the pick list has no records andhideEmptyPickList
isfalse
.- Specified by:
setEmptyPickListHeight
in interfacePickList
- Parameters:
emptyPickListHeight
- emptyPickListHeight Default value is 100
-
getEmptyPickListHeight
public int getEmptyPickListHeight()Height for an empty pick list (showing the empty message), if the pick list has no records andhideEmptyPickList
isfalse
.- Specified by:
getEmptyPickListHeight
in interfacePickList
- Returns:
- int
-
setHideEmptyPickList
If this pickList contains no options, should it be hidden? If unset, default behavior is to allow the empty pickList to show if it is databound.- Specified by:
setHideEmptyPickList
in interfacePickList
- Parameters:
hideEmptyPickList
- hideEmptyPickList Default value is null
-
getHideEmptyPickList
If this pickList contains no options, should it be hidden? If unset, default behavior is to allow the empty pickList to show if it is databound.- Specified by:
getHideEmptyPickList
in interfacePickList
- Returns:
- Boolean
-
setPickListWidth
Default width to show the pickList. If not specified, the width of this form item's element will be used instead.- Specified by:
setPickListWidth
in interfacePickList
- Parameters:
pickListWidth
- pickListWidth Default value is null
-
getPickListWidth
Default width to show the pickList. If not specified, the width of this form item's element will be used instead.- Specified by:
getPickListWidth
in interfacePickList
- Returns:
- Integer
-
setPickListMaxWidth
Maximum width for this item's pickList. By default if the values displayed in this pickList are wider than the specifiedsetPickListWidth
the pickList will render wide enough to accomodate them. This property allows the developer to limit how wide the pickList will render.- Specified by:
setPickListMaxWidth
in interfacePickList
- Parameters:
pickListMaxWidth
- pickListMaxWidth Default value is 400
-
getPickListMaxWidth
Maximum width for this item's pickList. By default if the values displayed in this pickList are wider than the specifiedsetPickListWidth
the pickList will render wide enough to accomodate them. This property allows the developer to limit how wide the pickList will render.- Specified by:
getPickListMaxWidth
in interfacePickList
- Returns:
- Integer
-
setPickListBaseStyle
Base Style for pickList cells. As with ListGrid Cells, will have 'over', 'selected' and 'disabled' appended on changes of state for the cells.- Specified by:
setPickListBaseStyle
in interfacePickList
- Parameters:
pickListBaseStyle
- pickListBaseStyle Default value is "pickListCell"
-
getPickListBaseStyle
Base Style for pickList cells. As with ListGrid Cells, will have 'over', 'selected' and 'disabled' appended on changes of state for the cells.- Specified by:
getPickListBaseStyle
in interfacePickList
- Returns:
- String
-
setAnimatePickList
If true, when the pickList is shown, it will be shown via an animated reveal effectNote : This is an advanced setting
- Specified by:
setAnimatePickList
in interfacePickList
- Parameters:
animatePickList
- animatePickList Default value is null
-
getAnimatePickList
If true, when the pickList is shown, it will be shown via an animated reveal effect- Specified by:
getAnimatePickList
in interfacePickList
- Returns:
- Boolean
-
setAnimationTime
public void setAnimationTime(int animationTime) If this.animatePickList is true - this specifies the duration of the animation effect applied when showing the pickListNote : This is an advanced setting
- Specified by:
setAnimationTime
in interfacePickList
- Parameters:
animationTime
- animationTime Default value is 200
-
getAnimationTime
public int getAnimationTime()If this.animatePickList is true - this specifies the duration of the animation effect applied when showing the pickList- Specified by:
getAnimationTime
in interfacePickList
- Returns:
- int
-
setPickListHeaderHeight
public void setPickListHeaderHeight(int pickListHeaderHeight) If this pick list is showing multiple fields, this property determines the height of the column headers for those fields. Set to zero to suppress the headers entirely.- Specified by:
setPickListHeaderHeight
in interfacePickList
- Parameters:
pickListHeaderHeight
- pickListHeaderHeight Default value is 22
-
getPickListHeaderHeight
public int getPickListHeaderHeight()If this pick list is showing multiple fields, this property determines the height of the column headers for those fields. Set to zero to suppress the headers entirely.- Specified by:
getPickListHeaderHeight
in interfacePickList
- Returns:
- int
-
setPickListCellHeight
public void setPickListCellHeight(int pickListCellHeight) Cell Height for this item's pickList.- Specified by:
setPickListCellHeight
in interfacePickList
- Parameters:
pickListCellHeight
- pickListCellHeight Default value is 16
-
getPickListCellHeight
public int getPickListCellHeight()Cell Height for this item's pickList.- Specified by:
getPickListCellHeight
in interfacePickList
- Returns:
- int
-
setValueIconField
For Databound formItems, this property determines which columnvalueIcons
should show up in for this formItem's pickList.
If unset valueIcons show up in thedisplayField
column if specified, otherwise thevalueField
column.
In most cases only thedisplayField
orvalueField
will be visible. This property is typically only required if custompickListFields
have been specified for this item.Note : This is an advanced setting
- Specified by:
setValueIconField
in interfacePickList
- Parameters:
valueIconField
- valueIconField Default value is null
-
getValueIconField
For Databound formItems, this property determines which columnvalueIcons
should show up in for this formItem's pickList.
If unset valueIcons show up in thedisplayField
column if specified, otherwise thevalueField
column.
In most cases only thedisplayField
orvalueField
will be visible. This property is typically only required if custompickListFields
have been specified for this item.- Specified by:
getValueIconField
in interfacePickList
- Returns:
- String
-
setShowAllOptions
If true, even non-matching options will be shown, with configurableseparatorRows
in between. Not valid foroptionDataSource
.- Specified by:
setShowAllOptions
in interfacePickList
- Parameters:
showAllOptions
- showAllOptions Default value is null- Returns:
SelectItem
instance, for chaining setter calls
-
getShowAllOptions
If true, even non-matching options will be shown, with configurableseparatorRows
in between. Not valid foroptionDataSource
.- Specified by:
getShowAllOptions
in interfacePickList
- Returns:
- Boolean
-
setPickListCriteria
If this item has a specifiedoptionDataSource
, and this property is not null, this will be passed to the datasource asRPCRequest
properties when performing the filter operation on the dataSource to obtain the set of options for the list.Note : This is an advanced setting
- Parameters:
optionFilterContext
- optionFilterContext Default value is null
-
setOptionDataSource
If set, this FormItem will derive data to show in the PickList by fetching records from the specifiedoptionDataSource
. The fetched data will be used as avalueMap
by extracting thevalueField
anddisplayField
in the loaded records, to derive one valueMap entry per record loaded from the optionDataSource. Multiple fields from the fetched data may be shown in the pickList by settingpickListFields
.The data will be retrieved via a "fetch" operation on the DataSource, passing the
pickListCriteria
(if set) as criteria, and passingoptionFilterContext
(if set) as DSRequest properties.The fetch will be triggered when the pickList is first shown, or, you can set
autoFetchData
to fetch when the FormItem is first drawn. You can also callcom.smartgwt.client.widgets.form.fields.PickList#fetchData
at any time to manually trigger a fetch.Data paging is automatically enabled if the optionDataSource supports it. As the pickList is scrolled by the user, requests for additional data will be automatically issued.
For a pickList attached to a ComboBoxItem, new fetches are issued as the user types, with criteria set as described under
ComboBoxItem.getPickListFilterCriteria()
. If your dataSource is not capable of filtering results by search criteria (eg the dataSource is backed by an XML flat file), you can setfilterLocally
to have the entire dataset loaded up front and filtering performed in the browser. This disables data paging.Setting optionDataSource also enables the basic
optionDataSource
behaviors, eg, fetching individual display values before the pickList is shown.Note that if a normal, static
valueMap
is also specified for the field (either directly in the form item or as part of the field definition in the dataSource), it will be preferred to the data derived from the optionDataSource for whatever mappings are present.Note : This is an advanced setting
- Specified by:
setOptionDataSource
in interfacePickList
- Overrides:
setOptionDataSource
in classFormItem
- Parameters:
optionDataSource
- optionDataSource Default value is null- Returns:
SelectItem
instance, for chaining setter calls- See Also:
-
getOptionDataSource
Description copied from class:FormItem
If set, this FormItem will map stored values to display values as though acom.smartgwt.client.types.ValueMap
were specified, by fetching records from the specifiedoptionDataSource
and extracting thevalueField
anddisplayField
in loaded records, to derive one valueMap entry per record loaded from the optionDataSource.With the default setting of
fetchMissingValues
, fetches will be initiated against the optionDataSource any time the FormItem has a non-null value and no corresponding display value is available. This includes when the form is first initialized, as well as any subsequent calls tosetValue()
, such as may happen whenDynamicForm.editRecord()
is called. Retrieved values are automatically cached by the FormItem.Note that if a normal, static
valueMap
is also specified for the field (either directly in the form item or as part of the field definition in the dataSource), it will be preferred to the data derived from the optionDataSource for whatever mappings are present.In a databound form, if
displayField
is specified for a FormItem andoptionDataSource
is unset,optionDataSource
will default to the form's current DataSource- Specified by:
getOptionDataSource
in interfacePickList
- Overrides:
getOptionDataSource
in classFormItem
- Returns:
- Returns the
optionDataSource
for this item.Always uses
item.optionDataSource
if specified. Otherwise, ifDataSourceField.foreignKey
was specified, uses the target DataSource. Otherwise, uses the DataSource of this item's form (if one is configured). Default value is null - See Also:
-
setSeparatorRows
Description copied from interface:PickList
Array of records to show between matching and non-matching rows in the PickList.Not valid for
'databound pickLists'
.- Specified by:
setSeparatorRows
in interfacePickList
- Parameters:
separatorRows
- separator rows- Returns:
PickList
instance, for chaining setter calls
-
setDefaultValues
Default values used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set tonull
programmatically, it will be reverted to thedefaultValues
.- Parameters:
defaultValues
- the defaultValues. Default value is null
-
setDefaultValues
Default values used when no value is provided for this item. Note that whenever this item's value is cleared by the user or set tonull
programmatically, it will be reverted to thedefaultValues
.- Parameters:
defaultValues
- the defaultValues. Default value is null
-
setFetchDelay
Description copied from interface:PickList
For a ComboBox or other pickList that accepts user-entered criteria, how many millseconds to wait after the last user keystroke before fetching data from the server. The default setting will initiate a fetch if the stops typing or pauses briefly.- Specified by:
setFetchDelay
in interfacePickList
- Parameters:
fetchDelay
- the fetch delay. defaults to 200ms
-
getFetchDelay
Description copied from interface:PickList
For a ComboBox or other pickList that accepts user-entered criteria, how many millseconds to wait after the last user keystroke before fetching data from the server. The default setting will initiate a fetch if the stops typing or pauses briefly.- Specified by:
getFetchDelay
in interfacePickList
- Returns:
- the fetch delay
-
getValues
Returns the values of a SelectItem with multiple=true as an array of Strings.- Returns:
- value of selection. If no values are selected, and empty array is returned
-
setValues
Set the values of a SelectItem with multiple=true.- Parameters:
values
- the SelectItem values
-
isMultiple
If true, multiple values may be selected.The SelectItem will either render as a drop-down allowing multiple selections, or a multi-row list of options similar to a small headerless
ListGrid
, based on theMultipleAppearance
setting.The logical value of the formItem, as retrieved by
getValue()
and set viasetValue()
, is an Array of Strings reflecting the selected values.When this value is true, we disable doubleClick events by default, instead issuing two single clicks by forcibly setting
noDoubleClicks: true
. If you need to work with doubleClick events, you can disable this default behavior by explicitly setting formItem.pickListProperties.noDoubleClicks: false.Note:
multiple:true
SelectItems do not currently support optionDataSource binding. You can get around this by callingDataSource.fetchData
directly and callingdsResponse.data.getValueMap()
to obtain a valueMap.- Returns:
- Boolean
- See Also:
-
filterClientPickListData
Description copied from interface:PickList
Returns the data to display in the pick list.The default implementation applies the criteria returned by
#getPickListFilterCriteria
to the data returned byPickList.getClientPickListData()
. A record passes the filter if it has a matching value for all fields in the criteria object. Matching is performed according totextMatchStyle
.If
showAllOptions
is set, all values are shown, with matching values shown below aseparator
.- Specified by:
filterClientPickListData
in interfacePickList
- Returns:
- array of record objects to display in the pickList
-
getClientPickListData
Description copied from interface:PickList
Returns the set of data to be displayed in this item's PickList.This method will be called for non-databound form items implementing the PickList interface. The default implementation will derive data from the item's valueMap - can be overridden to allow a custom set of options to be displayed.
Note that for PickLists that filter data based on user input
'ComboBox')
, this method should return the data before filtering.- Specified by:
getClientPickListData
in interfacePickList
- Returns:
- Array of record objects to be displayed in the pickList. Note that when a user picks a record from the list, the value of the field matching item.valueField will be picked. Also note that the fields to be displayed can be customized via item.pickListFields
-
getSelectedRecord
Returns the entire record object associated with the current value for this item (or null if no matching record exists in the PickList data). Most commonly used for databound pickListItems to retrieve the values of other fields in the record.- Overrides:
getSelectedRecord
in classFormItem
- Returns:
- the selected record or null
-
setPickListFilterCriteriaFunction
Deprecated.Set the pick list filter criteria function / handler.- Specified by:
setPickListFilterCriteriaFunction
in interfacePickList
- Parameters:
filterCriteriaFunction
- the filter criteria function
-
setPickListFilterCriteriaFunction
Set up a method to return filter criteria for options displayed for this item.
The criteria returned by this method are used to decide which options should appear in the drop-down PickList shown by this SelectItem.
Static criteria, specified via pickListCriteria, will always be included in addition to criteria returned by this method. -
setPickListProperties
Allows developers to designate aPickListMenu
as a template containing arbitrary properties to apply to the pickList that will be created for this FormItem.Note: Not every PickListMenu / ListGrid property is supported when assigned to a pickList. Where there is a dedicated API on the form item (such as
PickList.setPickListCellHeight(int)
), we recommend that be used in favor of setting the equivalent property directly using this API.PickLists and
ListGrid.setShowFilterEditor(boolean)
:ComboBoxItems
do not support settingshowFilterEditor
to true on pickListProperties. This combination of settings leads to an ambiguous user experience as the two sets of filter-criteria (those from the text-box and those from the pickList filter editor) interact with each other.
CallingsetShowFilterEditor
on the PickListMenu passed tosetPickListProperties(com.smartgwt.client.widgets.grid.ListGrid)
is a valid way to create a filterable pickList, on a SelectItem, but this setting is not supported on a SelectItem withmultiple set to true
- this combination of settings can cause a selected value to be filtered out of view at which point further selection changes will discard that value.
In general we recommend the ComboBoxItem class (withaddUnknownValues set as appropriate
) as a better interface for filtering pickList data.- Parameters:
pickListProperties
- the pick list properties
-
setOptionFilterContext
Description copied from interface:PickList
If this item has a specifiedoptionDataSource
, and this property is
 not null, this will be passed to the datasource asRPCRequest
properties when
 performing the fetch operation on the dataSource to obtain a data-value to display-value
 mappingNote : This is an advanced setting
- Specified by:
setOptionFilterContext
in interfacePickList
- Parameters:
dsRequestProperties
- optionFilterContext Default value is null
-
getValueAsString
Return the value tracked by this form item.- Returns:
- value of this element
-
setPickListSort
This method sorts the pickList on one or more fields, creating the underlying JS object if needed. Pass in an array of SortSpecifiers to have the grid's data sorted by the fields in each specifier.property and in the directions specified. The grid can be sorted by any combination of fields, including fields specified in the fields array, whether visible or hidden, and'unused fields from the underlying dataSource'
, if there is one. If multiple fields are sorted, those that are visible show a directional icon and a small'sort-numeral'
indicating that field's index in the sort configuration.See
ListGrid.addSort(com.smartgwt.client.data.SortSpecifier)
andcom.smartgwt.client.widgets.grid.ListGrid#alterSort
APIs for information on making changes to the current sort configuration.- Parameters:
sortSpecifiers
- Array of SortSpecifier objects
-
fetchData
public void fetchData()Only applies to databound items (see optionDataSource).
Performs a fetch type operation on this item's DataSource to retrieve the set of valid options for the item, based on the current pickListCriteria. -
fetchData
-
fetchData
Only applies to databound items (see optionDataSource).
Performs a fetch type operation on this item's DataSource to retrieve the set of valid options for the item, based on the current pickListCriteria.- Parameters:
callback
- Callback to fire when the fetch completes. Callback will fire with 4 parameters:item
a pointer to the form itemdsResponse
theDSResponse
returned by the serverdata
the raw data returned by the serverdsRequest
theDSRequest
sent to the server
requestProperties
- properties to apply to the dsRequest for this fetch.
-
setPickListFilterCriteriaFunction(FormItemCriteriaFunction)