public class SelectItem extends FormItem implements PickList, HasDataArrivedHandlers
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.
FormItem.getValueMap()
FormItem.CustomStateGetter, FormItem.StateCustomizer
configOnly, scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault
id
factoryCreated, factoryProperties
Constructor and Description |
---|
SelectItem() |
SelectItem(com.google.gwt.core.client.JavaScriptObject jsObj) |
SelectItem(java.lang.String name) |
SelectItem(java.lang.String name,
java.lang.String title) |
Modifier and Type | Method and Description |
---|---|
com.google.gwt.event.shared.HandlerRegistration |
addDataArrivedHandler(DataArrivedHandler handler)
Add a dataArrived handler.
|
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
Canvas defaults)
Changes the defaults for Canvas AutoChildren named
autoChildName . |
static void |
changeAutoChildDefaults(java.lang.String autoChildName,
FormItem defaults)
Changes the defaults for FormItem AutoChildren named
autoChildName . |
static void |
changePickerIconDefaults(FormItemIcon defaults) |
void |
defaultDynamicValue()
Expression evaluated to determine the
defaultValue when no value is provided for this item. |
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. |
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. |
ListGridRecord[] |
filterClientPickListData()
Returns the data to display in the pick list.
|
java.lang.Boolean |
getAddUnknownValues()
If this item's value is set (via
setValue() or
similar) to a value which is not present in the com.smartgwt.client.types.ValueMap , should the value be
rejected. |
java.lang.Boolean |
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).
|
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.
|
java.lang.Boolean |
getAnimatePickList()
If true, when the pickList is shown, it will be shown via an animated reveal effect
|
int |
getAnimationTime()
If this.animatePickList is true - this specifies the duration of the animation effect applied when showing the
pickList
|
java.lang.Boolean |
getAutoFetchData()
If this select item retrieves its options from a
dataSource , 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. |
java.lang.Boolean |
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.
|
boolean |
getCanSelectText()
By default SelectItems do not allow users to select the text of the selected value.
|
ListGridRecord[] |
getClientPickListData()
Returns the set of data to be displayed in this item's PickList.
|
java.lang.String |
getControlStyle()
Base CSS class name for a form item's "control box".
|
java.lang.Boolean |
getDefaultToFirstOption()
Select the first option as the default value for this SelectItem.
|
java.lang.Object |
getDefaultValue()
Static default value for this SelectItem.
|
java.lang.String |
getDisplayField()
If set, this item will display a value from another field to the user instead of showing the underlying data value for
the
field name . |
java.lang.String |
getDisplayFieldName()
Returns the
displayField for this item. |
java.lang.String |
getEditProxyConstructor()
Default class used to construct the
EditProxy for this component when the component is
first placed into edit mode . |
java.lang.String |
getEmptyDisplayValue()
Text to display when this form item has a null or undefined value.
|
int |
getEmptyPickListHeight()
Height for an empty pick list (showing the empty message), if the pick list has no records and
hideEmptyPickList is false . |
java.lang.String |
getEmptyPickListMessage()
Empty message to display in the selectItem if PickList.hideEmptyPickList is
false . |
java.lang.Boolean |
getEscapeHTML()
By default HTML values in a selectItem will be interpreted by the browser.
|
java.lang.Integer |
getFetchDelay()
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.
|
java.lang.Boolean |
getFetchDisplayedFieldsOnly()
If this item has a specified
optionDataSource and this property is true , the list of fields
used by this pickList will be passed to the datasource as DSRequest.outputs . |
java.lang.Boolean |
getFilterLocally()
If
filterLocally 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. |
java.lang.Boolean |
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.
|
PickListItemIconPlacement |
getIconPlacement()
For PickList items with
PickListItemIconPlacement set such that the pickList does not
render near-origin, should specified icons be rendered
inline within the formItem itself, or within the pickerNavigationBar . |
SortSpecifier[] |
getInitialSort()
An array of
SortSpecifier objects used to set up the initial sort configuration for
this pickList. |
java.lang.Boolean |
getMultiple()
If true, multiple values may be selected.
|
MultipleAppearance |
getMultipleAppearance()
How should items with
multiple set to 'true' be
displayed? |
java.lang.Boolean |
getOpenOnDownArrow()
Causes the PickList to open when the down arrow is pressed, default false.
|
java.lang.Boolean |
getOpenOnSpace()
Causes the PickList to open when the spacebar is pressed, default false.
|
DataSource |
getOptionDataSource()
If set, this FormItem will map stored values to display values as though a
com.smartgwt.client.types.ValueMap
were specified, by fetching records from the specified optionDataSource and extracting the valueField and displayField in loaded records, to derive one valueMap
entry per record loaded from the optionDataSource. |
java.lang.String |
getOptionOperationId()
If this item has a specified
optionDataSource , this attribute may be set to specify an explicit DSRequest.operationId when performing a fetch against the option
dataSource to pick up display value mapping. |
static SelectItem |
getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) |
NavigationButton |
getPickerClearButton()
NavigationButton to clear the picker value, created when pickListPlacement indicates that the search
interface takes over the entire panel or screen. |
java.lang.String |
getPickerClearButtonTitle()
The title for the
pickerClearButton . |
NavigationButton |
getPickerExitButton()
NavigationButton to dismiss the picker interface, created when pickListPlacement indicates that the search
interface takes over the entire panel or screen. |
java.lang.String |
getPickerExitButtonTitle()
The title for the
pickerExitButton . |
java.lang.Integer |
getPickerIconHeight()
If
showPickerIcon is true for this item,
this property governs the size of the picker icon. |
java.lang.String |
getPickerIconSrc()
If
showPickerIcon is true for this item,
this property governs the src of the picker icon
image to be displayed. |
java.lang.String |
getPickerIconStyle()
Base CSS class name for a form item's picker icon cell.
|
java.lang.Integer |
getPickerIconWidth()
If
showPickerIcon is true for this item,
this property governs the size of the picker icon. |
NavigationBar |
getPickerNavigationBar()
NavigationBar created when pickListPlacement indicates that the search
interface takes over the entire panel or screen. |
java.lang.String |
getPickListBaseStyle()
Base Style for pickList cells.
|
int |
getPickListCellHeight()
Cell Height for this item's pickList.
|
java.lang.String |
getPickListConstructor()
The Class to use when creating the pickList for a FormItem.
|
Criteria |
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.
|
ListGridField[] |
getPickListFields()
This property allows the developer to specify which field[s] will be displayed in the drop down list of options.
|
protected Criteria |
getPickListFilterCriteria()
Returns a set of filter criteria to be applied to the data displayed in the pickList when it is shown.
|
int |
getPickListHeaderHeight()
If this pick list is showing multiple fields, this property determines the height of the column headers for those
fields.
|
int |
getPickListHeight()
Maximum height to show the pick list before it starts to scroll.
|
PanelPlacement |
getPickListPlacement()
Controls where the PickList is placed.
|
Canvas |
getPickListPlacementAsCanvas()
Controls where the PickList is placed.
|
java.lang.String |
getPickListPlacementAsString()
Controls where the PickList is placed.
|
java.lang.Integer |
getPickListWidth()
Default width to show the pickList.
|
java.lang.Boolean |
getProgressiveLoading()
Indicates whether or not this SelectItem will load its list of options
progressively . |
java.lang.Boolean |
getSaveOnEnter()
Select items will submit their containing form on enter keypress if
saveOnEnter is true. |
ListGridRecord |
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).
|
ListGridRecord[] |
getSelectedRecords()
For a SelectItem with an
optionDataSource
and allowing multiple selection (via
multiple:true ), returns the list of currently selected records, or null if none are selected. |
java.lang.Boolean |
getSeparateSpecialValues()
If true,
special values such as the empty
value will be shown in a separate non-scrolling area, in the separateValuesList . |
ListGrid |
getSeparateValuesList()
AutoChild used to show
specialValues . |
java.lang.Boolean |
getShowAllOptions()
If true, even non-matching options will be shown, with configurable
separatorRows in between. |
java.lang.Boolean |
getShowFocused()
When this item receives focus, should it be re-styled to indicate it has focus?
|
java.lang.Boolean |
getShowHintInField()
If showing a hint for this form item, should it be shown within the field?
|
java.lang.Boolean |
getShowOptionsFromDataSource()
If this item is part of a databound form, and has a specified
valueMap , by default we show the valueMap
options in the pickList for the item. |
boolean |
getShowOver()
When the user rolls over this item, should it be re-styled to indicate it has focus?
|
java.lang.Boolean |
getShowPickerIcon()
Should we show a special 'picker'
icon for this form item?
Picker icons are customizable via pickerIconProperties . |
java.lang.String |
getSortField()
Specifies one or more fields by which this item should be initially sorted.
|
java.lang.Integer |
getSortFieldAsInt()
Specifies one or more fields by which this item should be initially sorted.
|
java.lang.String[] |
getSortFieldAsStringArray()
Specifies one or more fields by which this item should be initially sorted.
|
java.util.Map |
getSpecialValues()
A set of "special" values such as "All", "None" or "Invalid" that do not appear in the normal
com.smartgwt.client.types.ValueMap or in the data returned by the optionDataSource . |
java.lang.String |
getTextBoxStyle()
Base CSS class name for a form item's text box element.
|
TextMatchStyle |
getTextMatchStyle()
When applying filter criteria to pickList data, what type of matching to use.
|
java.lang.Boolean |
getUpdateControlOnOver()
If
FormItem.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). |
java.lang.Boolean |
getUpdateTextBoxOnOver()
If
FormItem.showOver is true, setting this property
to false will explicitly disable showing the "Over" state for the TextBox element of this item. |
java.lang.Boolean |
getUseClientFiltering()
For
databound items, this property will
be passed to the generated ResultSet data object for the pickList as ResultSet.useClientFiltering . |
java.lang.String |
getValueAsString()
Return the value tracked by this form item.
|
java.lang.String |
getValueField()
If this form item maps data values to display values by retrieving the
FormItem.displayField values from an optionDataSource , 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 in FormItem.getValueFieldName() . |
java.lang.String |
getValueFieldName()
Getter method to retrieve the
FormItem.valueField
for this item. |
java.lang.String |
getValueIconField()
For Databound formItems, this property determines which column
valueIcons should show up in for this formItem's pickList.If unset valueIcons show up in the displayField column if specified, otherwise
the valueField column.In most cases only the displayField or valueField will be visible. |
java.lang.String[] |
getValues()
Returns the values of a SelectItem with multiple=true as an array of Strings.
|
java.lang.Boolean |
isMultiple()
If true, multiple values may be selected.
|
boolean |
pendingStatusChanged(DynamicForm form,
FormItem item,
boolean pendingStatus,
java.lang.Object newValue,
java.lang.Object value)
Notification method called when
showPending is
enabled and this SelectItem should either clear or show its pending visual state. |
void |
setAddUnknownValues(java.lang.Boolean addUnknownValues)
If this item's value is set (via
setValue() or
similar) to a value which is not present in the com.smartgwt.client.types.ValueMap , should the value be
rejected. |
void |
setAllowEmptyValue(java.lang.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).
|
void |
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(java.lang.Boolean animatePickList)
If true, when the pickList is shown, it will be shown via an animated reveal effect
|
void |
setAnimationTime(int animationTime)
If this.animatePickList is true - this specifies the duration of the animation effect applied when showing the
pickList
|
void |
setAutoFetchData(java.lang.Boolean autoFetchData)
If this select item retrieves its options from a
dataSource , 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. |
void |
setCachePickListResults(java.lang.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.
|
void |
setCanSelectText(boolean canSelectText)
By default SelectItems do not allow users to select the text of the selected value.
|
void |
setControlStyle(java.lang.String controlStyle)
Base CSS class name for a form item's "control box".
|
static void |
setDefaultProperties(SelectItem selectItemProperties)
Class level method to set the default properties of this class.
|
void |
setDefaultToFirstOption(java.lang.Boolean defaultToFirstOption)
Select the first option as the default value for this SelectItem.
|
void |
setDefaultValues(java.lang.Integer... defaultValues)
Default values used when no value is provided for this item.
|
void |
setDefaultValues(java.lang.String... defaultValues)
Default values used when no value is provided for this item.
|
void |
setDisplayField(java.lang.String displayField)
If set, this item will display a value from another field to the user instead of showing the underlying data value for
the
field name . |
void |
setEditProxyConstructor(java.lang.String editProxyConstructor)
Default class used to construct the
EditProxy for this component when the component is
first placed into edit mode . |
void |
setEmptyDisplayValue(java.lang.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 and
hideEmptyPickList is false . |
void |
setEmptyPickListMessage(java.lang.String emptyPickListMessage)
Empty message to display in the selectItem if PickList.hideEmptyPickList is
false . |
void |
setEscapeHTML(java.lang.Boolean escapeHTML)
By default HTML values in a selectItem will be interpreted by the browser.
|
void |
setFetchDelay(java.lang.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.
|
void |
setFetchDisplayedFieldsOnly(java.lang.Boolean fetchDisplayedFieldsOnly)
If this item has a specified
optionDataSource and this property is true , the list of fields
used by this pickList will be passed to the datasource as DSRequest.outputs . |
void |
setFilterLocally(java.lang.Boolean filterLocally)
If
filterLocally 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(java.lang.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.
|
void |
setIconPlacement(PickListItemIconPlacement iconPlacement)
For PickList items with
PickListItemIconPlacement set such that the pickList does not
render near-origin, should specified icons be rendered
inline within the formItem itself, or within the pickerNavigationBar . |
void |
setInitialSort(SortSpecifier... initialSort)
An array of
SortSpecifier objects used to set up the initial sort configuration for
this pickList. |
void |
setMultiple(java.lang.Boolean multiple)
If true, multiple values may be selected.
|
void |
setMultipleAppearance(MultipleAppearance multipleAppearance)
How should items with
multiple set to 'true' be
displayed? |
void |
setOpenOnDownArrow(java.lang.Boolean openOnDownArrow)
Causes the PickList to open when the down arrow is pressed, default false.
|
void |
setOpenOnSpace(java.lang.Boolean openOnSpace)
Causes the PickList to open when the spacebar is pressed, default false.
|
void |
setOptionDataSource(DataSource dataSource)
If set, this FormItem will derive data to show in the PickList by fetching records from the specified
optionDataSource . |
void |
setOptionFilterContext(DSRequest dsRequestProperties)
If this item has a specified
optionDataSource , and this property is
not null, this will be passed to the datasource as RPCRequest properties when
performing the fetch operation on the dataSource to obtain a data-value to display-value
mapping |
void |
setOptionOperationId(java.lang.String optionOperationId)
If this item has a specified
optionDataSource , this attribute may be set to specify an explicit DSRequest.operationId when performing a fetch against the option
dataSource to pick up display value mapping. |
void |
setPickerClearButtonTitle(java.lang.String pickerClearButtonTitle)
The title for the
pickerClearButton . |
void |
setPickerExitButtonTitle(java.lang.String pickerExitButtonTitle)
The title for the
pickerExitButton . |
void |
setPickerIconHeight(java.lang.Integer pickerIconHeight)
If
showPickerIcon is true for this item,
this property governs the size of the picker icon. |
void |
setPickerIconSrc(java.lang.String pickerIconSrc)
If
showPickerIcon is true for this item,
this property governs the src of the picker icon
image to be displayed. |
void |
setPickerIconStyle(java.lang.String pickerIconStyle)
Base CSS class name for a form item's picker icon cell.
|
void |
setPickerIconWidth(java.lang.Integer pickerIconWidth)
If
showPickerIcon is true for this item,
this property governs the size of the picker icon. |
void |
setPickListBaseStyle(java.lang.String pickListBaseStyle)
Base Style for pickList cells.
|
void |
setPickListCellHeight(int pickListCellHeight)
Cell Height for this item's pickList.
|
void |
setPickListConstructor(java.lang.String pickListConstructor)
The Class to use when creating the pickList for a FormItem.
|
void |
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 specified
optionDataSource , and this property is not null, this will be passed to
the datasource as RPCRequest properties when performing the filter operation on
the dataSource to obtain the set of options for the list. |
void |
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 |
setPickListPlacement(Canvas pickListPlacement)
Controls where the PickList is placed.
|
void |
setPickListPlacement(PanelPlacement pickListPlacement)
Controls where the PickList is placed.
|
void |
setPickListPlacement(java.lang.String pickListPlacement)
Controls where the PickList is placed.
|
void |
setPickListProperties(ListGrid pickListProperties)
Set the properties to be applied to the pickList created for this Form Item.
|
void |
setPickListSort(SortSpecifier[] sortSpecifiers)
This method sorts the pickList on one or more fields, creating the underlying JS object
if needed.
|
void |
setPickListWidth(java.lang.Integer pickListWidth)
Default width to show the pickList.
|
void |
setProgressiveLoading(java.lang.Boolean progressiveLoading)
Indicates whether or not this SelectItem will load its list of options
progressively . |
void |
setSaveOnEnter(java.lang.Boolean saveOnEnter)
Select items will submit their containing form on enter keypress if
saveOnEnter is true. |
void |
setSeparateSpecialValues(java.lang.Boolean separateSpecialValues)
If true,
special values such as the empty
value will be shown in a separate non-scrolling area, in the separateValuesList . |
void |
setSeparatorRows(ListGridRecord[] separatorRows)
Array of records to show between matching and non-matching rows in the PickList.
|
void |
setShowAllOptions(java.lang.Boolean showAllOptions)
If true, even non-matching options will be shown, with configurable
separatorRows in between. |
void |
setShowFocused(java.lang.Boolean showFocused)
When this item receives focus, should it be re-styled to indicate it has focus?
|
void |
setShowHintInField(java.lang.Boolean showHintInField)
If showing a hint for this form item, should it be shown within the field?
|
void |
setShowOptionsFromDataSource(java.lang.Boolean showOptionsFromDataSource)
If this item is part of a databound form, and has a specified
valueMap , by default we show the valueMap
options in the pickList for the item. |
void |
setShowOver(boolean showOver)
When the user rolls over this item, should it be re-styled to indicate it has focus?
|
void |
setShowPickerIcon(java.lang.Boolean showPickerIcon)
Should we show a special 'picker'
icon for this form item?
Picker icons are customizable via pickerIconProperties . |
void |
setSortField(java.lang.Integer sortField)
Specifies one or more fields by which this item should be initially sorted.
|
void |
setSortField(java.lang.String... sortField)
Specifies one or more fields by which this item should be initially sorted.
|
void |
setSortField(java.lang.String sortField)
Specifies one or more fields by which this item should be initially sorted.
|
void |
setSpecialValues(java.util.LinkedHashMap valueMap)
Set the specialValues for this item.
|
void |
setSpecialValues(java.util.Map specialValues)
A set of "special" values such as "All", "None" or "Invalid" that do not appear in the normal
com.smartgwt.client.types.ValueMap or in the data returned by the optionDataSource . |
void |
setSpecialValues(java.lang.String... values)
Set the specialValues for this item.
|
void |
setTextBoxStyle(java.lang.String textBoxStyle)
Base CSS class name for a form item's text box element.
|
void |
setTextMatchStyle(TextMatchStyle textMatchStyle)
When applying filter criteria to pickList data, what type of matching to use.
|
void |
setUpdateControlOnOver(java.lang.Boolean updateControlOnOver)
If
FormItem.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). |
void |
setUpdateTextBoxOnOver(java.lang.Boolean updateTextBoxOnOver)
If
FormItem.showOver is true, setting this property
to false will explicitly disable showing the "Over" state for the TextBox element of this item. |
void |
setUseClientFiltering(java.lang.Boolean useClientFiltering)
For
databound items, this property will
be passed to the generated ResultSet data object for the pickList as ResultSet.useClientFiltering . |
void |
setValueField(java.lang.String valueField)
If this form item maps data values to display values by retrieving the
FormItem.displayField values from an optionDataSource , 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 in FormItem.getValueFieldName() . |
void |
setValueIconField(java.lang.String valueIconField)
For Databound formItems, this property determines which column
valueIcons should show up in for this formItem's pickList.If unset valueIcons show up in the displayField column if specified, otherwise
the valueField column.In most cases only the displayField or valueField will be visible. |
void |
setValues(java.lang.String... values)
Set the values of a SelectItem with multiple=true.
|
void |
showPicker()
Method to show a picker for this item.
|
_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, 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, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDateFormatter, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDisabled, getDisableIconsOnReadOnly, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getExportFormat, getFetchMissingValues, getFieldName, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFormula, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, getHeight, getHeightAsString, getHidden, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverHeight, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getIcon, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIcons, getIconTabPosition, getIconVAlign, getIconWidth, getID, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getInputFormat, getLeft, getListGrid, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultipleValueSeparator, getName, getOperator, getOptionCriteria, getOptionDataSourceAsString, getOptionFilterContext, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPaletteDefaults, getPicker, getPickerIcon, getPickerIcon, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconTabPosition, getPixelHeight, getPixelWidth, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredWhen, getRowSpan, getScClassName, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowDisabledIconsOnFocus, getShowDisabledPickerIconOnFocus, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowIconsOnFocus, getShowOldValueInHover, getShowOverIcons, getShowPending, getShowPickerIconOnFocus, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, 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, getValueAsRecordList, getValueDeselectedCSSText, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getValueMap, getValueMapAsArray, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapHintText, getWrapTitle, handleWarnOnEditorTypeConversion, hasAdvancedCriteria, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isConfigOnly, isCreated, isCutEvent, isDisabled, isDrawn, isFocused, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, removeIcon, 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, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setConfigOnly, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setCustomStateGetter, setDataPath, setDateFormatter, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisableIconsOnReadOnly, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setExportFormat, setFetchMissingValues, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, setHeight, setHeight, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverHeight, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconShowOnFocus, setIconVAlign, setIconWidth, setID, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultipleValueSeparator, setName, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionFilterContext, setOriginalValueMessage, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredWhen, setRowSpan, setScClassName, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowDisabledIconsOnFocus, setShowDisabledPickerIconOnFocus, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIconsOnFocus, setShowIfCondition, setShowOldValueInHover, setShowOverIcons, setShowPending, setShowPickerIconOnFocus, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextAlign, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setUpdatePickerIconOnOver, setUseAdvancedCriteria, setUseDisabledHintStyleForReadOnly, setUseLocalDisplayFieldValue, 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, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, stopHover, storeValue, storeValue, updateState, validate, valueClipped
getRef, getRef, internalSetID
applyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated
public SelectItem()
public SelectItem(com.google.gwt.core.client.JavaScriptObject jsObj)
public SelectItem(java.lang.String name)
public SelectItem(java.lang.String name, java.lang.String title)
public static SelectItem getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public static void changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)
autoChildName
.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, see SGWTProperties
.AutoChildUsage
public static void changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)
autoChildName
.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, see SGWTProperties
.AutoChildUsage
public static void changePickerIconDefaults(FormItemIcon defaults)
public void setAddUnknownValues(java.lang.Boolean addUnknownValues)
setValue()
or
similar) to a value which is not present in the com.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 to setValueMap()
or setValue()
.
Exception: If the value is set to
null
but there is no null entry in the valueMap for this item, setting addUnknownValues
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 by allowEmptyValue
instead.
Note that this property has no effect if the selectItem has a specified optionDataSource
. If setValue()
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 a displayField
exists, a fetch will be performed in an attempt to retrieve a valid display value, as described under FormItem.fetchMissingValues
. If specified the
FormItem.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
addUnknownValues
- New addUnknownValues value. Default value is truepublic java.lang.Boolean getAddUnknownValues()
setValue()
or
similar) to a value which is not present in the com.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 to setValueMap()
or setValue()
.
Exception: If the value is set to
null
but there is no null entry in the valueMap for this item, setting addUnknownValues
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 by allowEmptyValue
instead.
Note that this property has no effect if the selectItem has a specified optionDataSource
. If setValue()
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 a displayField
exists, a fetch will be performed in an attempt to retrieve a valid display value, as described under FormItem.fetchMissingValues
. If specified the
FormItem.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.
public void setAllowEmptyValue(java.lang.Boolean allowEmptyValue)
The empty value will be displayed with the emptyDisplayValue
.
With a databound selectItem
, enabling
allowEmptyValue
disables data paging by default - all data matching the current criteria will be
requested. However, enabling separateSpecialValues
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 setting specialValues
disables the use of allowEmptyValue
- see details of how to have an empty value while using
specialValues
in in the
.specialValues
documentation
allowEmptyValue
- New allowEmptyValue value. Default value is falsepublic java.lang.Boolean getAllowEmptyValue()
The empty value will be displayed with the emptyDisplayValue
.
With a databound selectItem
, enabling
allowEmptyValue
disables data paging by default - all data matching the current criteria will be
requested. However, enabling separateSpecialValues
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 setting specialValues
disables the use of allowEmptyValue
- see details of how to have an empty value while using
specialValues
in in the
.specialValues
documentation
public void setAllowMultiCharSearch(boolean allowMultiCharSearch)
allowMultiCharSearch
- New allowMultiCharSearch value. Default value is truepublic boolean getAllowMultiCharSearch()
public void setAutoFetchData(java.lang.Boolean autoFetchData)
dataSource
, 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
autoFetchData
- New autoFetchData value. Default value is truepublic java.lang.Boolean getAutoFetchData()
dataSource
, 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.
public void setCachePickListResults(java.lang.Boolean cachePickListResults)
Setting this flag to false avoids this caching for situations where it is too aggressive.
cachePickListResults
- New cachePickListResults value. Default value is truepublic java.lang.Boolean getCachePickListResults()
Setting this flag to false avoids this caching for situations where it is too aggressive.
public void setCanSelectText(boolean canSelectText)
setCanSelectText
in class FormItem
canSelectText
- New canSelectText value. Default value is falsepublic boolean getCanSelectText()
getCanSelectText
in class FormItem
public void setControlStyle(java.lang.String controlStyle)
See FormItem.alwaysShowControlBox
for details on when the control box is written out.
See FormItemStyling
for an overview of formItem styling, and the CompoundFormItem_skinning
discussion for special skinning considerations.
setControlStyle
in class FormItem
controlStyle
- New controlStyle value. Default value is "selectItemControl", [IRA]FormItem.setCellStyle(java.lang.String)
,
FormItemBaseStyle
,
Appearance overview and related methods
public java.lang.String getControlStyle()
See FormItem.alwaysShowControlBox
for details on when the control box is written out.
See FormItemStyling
for an overview of formItem styling, and the CompoundFormItem_skinning
discussion for special skinning considerations.
getControlStyle
in class FormItem
FormItem.getCellStyle()
,
FormItemBaseStyle
,
Appearance overview and related methods
public void setDefaultToFirstOption(java.lang.Boolean defaultToFirstOption)
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
and defaultDynamicValue()
.
defaultToFirstOption
- New defaultToFirstOption value. Default value is falsepublic java.lang.Boolean getDefaultToFirstOption()
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
and defaultDynamicValue()
.
public java.lang.Object getDefaultValue()
defaultToFirstOption
instead.public void setDisplayField(java.lang.String displayField)
field name
. The display value can be derived in two ways:
The item will display the displayField value from the record currently being edited
if FormItem.useLocalDisplayFieldValue
is
true, (or if unset and the conditions outlined in the documentation for that property are met).
Note that DataSourceField.useLocalDisplayFieldValue
will
default to true if not explicitly set in some cases, as described in the documentation for that property.
Otherwise
this item will perform a fetch against the FormItem.optionDataSource
to find a record where the value field
matches this item's value, and use the
displayField
, or FormItem.foreignDisplayField
value from that record.
Note that the specified displayField must be explicitly
defined in the optionDataSource to be used - see getDisplayFieldName()
for more on this behavior.
This essentially allows the specified optionDataSource
to be used as a server based valueMap
.
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.
setDisplayField
in interface PickList
setDisplayField
in class FormItem
displayField
- New displayField value. Default value is nullFormItem.getDisplayFieldName()
,
FormItem.invalidateDisplayValueCache()
,
Databinding overview and related methods
,
List - Related Records Examplepublic java.lang.String getDisplayField()
field name
. The display value can be derived in two ways:
The item will display the displayField value from the record currently being edited
if FormItem.useLocalDisplayFieldValue
is
true, (or if unset and the conditions outlined in the documentation for that property are met).
Note that DataSourceField.useLocalDisplayFieldValue
will
default to true if not explicitly set in some cases, as described in the documentation for that property.
Otherwise
this item will perform a fetch against the FormItem.optionDataSource
to find a record where the value field
matches this item's value, and use the
displayField
, or FormItem.foreignDisplayField
value from that record.
Note that the specified displayField must be explicitly
defined in the optionDataSource to be used - see getDisplayFieldName()
for more on this behavior.
This essentially allows the specified optionDataSource
to be used as a server based valueMap
.
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.
getDisplayField
in interface PickList
getDisplayField
in class FormItem
displayField
for this item. Behavior varies based on the configuration of this item, as follows:
optionDataSource
and an explicit FormItem.foreignDisplayField
is specified, this will be returned.displayField
is specified it will be returned by
default. If the displayField
was specified on the underlying dataSource field, and no matching field is
present in the optionDataSource
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.FormItem.valueField
for this item is hidden in the FormItem.optionDataSource
, this method will return
the title field for the optionDataSource
.FormItem.getDisplayFieldName()
,
FormItem.invalidateDisplayValueCache()
,
Databinding overview and related methods
,
List - Related Records Examplepublic void setEditProxyConstructor(java.lang.String editProxyConstructor)
EditProxy
for this component when the component is
first placed into edit mode
.setEditProxyConstructor
in class FormItem
editProxyConstructor
- New editProxyConstructor value. Default value is "SelectItemEditProxy"SCClassName
public java.lang.String getEditProxyConstructor()
EditProxy
for this component when the component is
first placed into edit mode
.getEditProxyConstructor
in class FormItem
SCClassName
public void setEmptyDisplayValue(java.lang.String emptyDisplayValue)
If the formItem has a databound pickList, and its
FormItem.displayField
or FormItem.valueField
(if the former isn't set) has an
undefined emptyCellValue
setting, that field's
emptyCellValue
will automatically be set to the emptyDisplayValue
.
setEmptyDisplayValue
in class FormItem
emptyDisplayValue
- New emptyDisplayValue value. Default value is " "HTMLString
public java.lang.String getEmptyDisplayValue()
If the formItem has a databound pickList, and its
FormItem.displayField
or FormItem.valueField
(if the former isn't set) has an
undefined emptyCellValue
setting, that field's
emptyCellValue
will automatically be set to the emptyDisplayValue
.
getEmptyDisplayValue
in class FormItem
HTMLString
public void setEmptyPickListMessage(java.lang.String emptyPickListMessage)
false
.
Note : This is an advanced setting
setEmptyPickListMessage
in interface PickList
emptyPickListMessage
- New emptyPickListMessage value. Default value is "No items to show"public java.lang.String getEmptyPickListMessage()
false
.getEmptyPickListMessage
in interface PickList
public void setEscapeHTML(java.lang.Boolean escapeHTML)
"<b>AAA</b>"
) is
displayed to the user rather than the interpreted HTML (for example "AAA"
)escapeHTML
- New escapeHTML value. Default value is falseAppearance overview and related methods
public java.lang.Boolean getEscapeHTML()
"<b>AAA</b>"
) is
displayed to the user rather than the interpreted HTML (for example "AAA"
)Appearance overview and related methods
public void setFetchDisplayedFieldsOnly(java.lang.Boolean fetchDisplayedFieldsOnly)
optionDataSource
and this property is true
, the list of fields
used by this pickList will be passed to the datasource as DSRequest.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
and pickListFields
.
NOTE: When enabled, getSelectedRecord
will only include the fetched
fields.
Note : This is an advanced setting
fetchDisplayedFieldsOnly
- New fetchDisplayedFieldsOnly value. Default value is nullpublic java.lang.Boolean getFetchDisplayedFieldsOnly()
optionDataSource
and this property is true
, the list of fields
used by this pickList will be passed to the datasource as DSRequest.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
and pickListFields
.
NOTE: When enabled, getSelectedRecord
will only include the fetched
fields.
public void setFilterLocally(java.lang.Boolean filterLocally)
filterLocally
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 the useClientFiltering
property to false.
Note : This is an advanced setting
setFilterLocally
in interface PickList
setFilterLocally
in class FormItem
filterLocally
- New filterLocally value. Default value is falseFormItem.setFilterLocally(java.lang.Boolean)
public java.lang.Boolean getFilterLocally()
filterLocally
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 the useClientFiltering
property to false.
getFilterLocally
in interface PickList
getFilterLocally
in class FormItem
FormItem.getFilterLocally()
public void setIconPlacement(PickListItemIconPlacement iconPlacement)
PickListItemIconPlacement
set such that the pickList does not
render near-origin, should specified icons
be rendered
inline within the formItem itself, or within the pickerNavigationBar
. 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.
iconPlacement
- New iconPlacement value. Default value is "both"public PickListItemIconPlacement getIconPlacement()
PickListItemIconPlacement
set such that the pickList does not
render near-origin, should specified icons
be rendered
inline within the formItem itself, or within the pickerNavigationBar
. 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.
public void setInitialSort(SortSpecifier... initialSort)
SortSpecifier
objects used to set up the initial sort configuration for
this pickList. If specified, this will be used instead of any PickList.sortField specified.initialSort
- New initialSort value. Default value is nullpublic SortSpecifier[] getInitialSort()
SortSpecifier
objects used to set up the initial sort configuration for
this pickList. If specified, this will be used instead of any PickList.sortField specified.public void setMultiple(java.lang.Boolean multiple)
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 the MultipleAppearance
setting.
The logical value of the formItem, as retrieved by getValue()
and set via setValue()
, 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 calling DataSource.fetchData()
directly and calling dsResponse.data.getValueMap()
to obtain a valueMap.
setMultiple
in class FormItem
multiple
- New multiple value. Default value is falseAppearance overview and related methods
public java.lang.Boolean getMultiple()
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 the MultipleAppearance
setting.
The logical value of the formItem, as retrieved by getValue()
and set via setValue()
, 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 calling DataSource.fetchData()
directly and calling dsResponse.data.getValueMap()
to obtain a valueMap.
getMultiple
in class FormItem
Appearance overview and related methods
public void setMultipleAppearance(MultipleAppearance multipleAppearance)
multiple
set to 'true' be
displayed?multipleAppearance
- New multipleAppearance value. Default value is "picklist"public MultipleAppearance getMultipleAppearance()
multiple
set to 'true' be
displayed?public void setOpenOnDownArrow(java.lang.Boolean openOnDownArrow)
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.
openOnDownArrow
- New openOnDownArrow value. Default value is falsepublic java.lang.Boolean getOpenOnDownArrow()
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.
public void setOpenOnSpace(java.lang.Boolean openOnSpace)
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.
openOnSpace
- New openOnSpace value. Default value is falsepublic java.lang.Boolean getOpenOnSpace()
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.
public void setOptionOperationId(java.lang.String optionOperationId)
optionDataSource
, this attribute may be set to specify an explicit DSRequest.operationId
when performing a fetch against the option
dataSource to pick up display value mapping.setOptionOperationId
in class FormItem
optionOperationId
- New optionOperationId value. Default value is nullpublic java.lang.String getOptionOperationId()
optionDataSource
, this attribute may be set to specify an explicit DSRequest.operationId
when performing a fetch against the option
dataSource to pick up display value mapping.getOptionOperationId
in class FormItem
public NavigationButton getPickerClearButton()
NavigationButton
to clear the picker value, created when pickListPlacement
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
.
public void setPickerClearButtonTitle(java.lang.String pickerClearButtonTitle)
pickerClearButton
.pickerClearButtonTitle
- New pickerClearButtonTitle value. Default value is "Clear"HTMLString
public java.lang.String getPickerClearButtonTitle()
pickerClearButton
.HTMLString
public NavigationButton getPickerExitButton()
NavigationButton
to dismiss the picker interface, created when pickListPlacement
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
.
public void setPickerExitButtonTitle(java.lang.String pickerExitButtonTitle)
pickerExitButton
.pickerExitButtonTitle
- New pickerExitButtonTitle value. Default value is "Done"HTMLString
public java.lang.String getPickerExitButtonTitle()
pickerExitButton
.HTMLString
public void setPickerIconHeight(java.lang.Integer pickerIconHeight)
showPickerIcon
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 the SCSpriteConfig
format. See the section on spriting in the skinning overview
for further information.
Note : This is an advanced setting
setPickerIconHeight
in class FormItem
pickerIconHeight
- New pickerIconHeight value. Default value is nullpublic java.lang.Integer getPickerIconHeight()
showPickerIcon
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 the SCSpriteConfig
format. See the section on spriting in the skinning overview
for further information.
getPickerIconHeight
in class FormItem
public void setPickerIconSrc(java.lang.String pickerIconSrc)
showPickerIcon
is true for this item,
this property governs the src
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 the pickerIconStyle
property.
Note : This is an advanced setting
setPickerIconSrc
in class FormItem
pickerIconSrc
- New pickerIconSrc value. Default value is "[SKIN]/DynamicForm/SelectItem_PickButton_icon.gif"SCImgURL
public java.lang.String getPickerIconSrc()
showPickerIcon
is true for this item,
this property governs the src
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 the pickerIconStyle
property.
getPickerIconSrc
in class FormItem
SCImgURL
public void setPickerIconStyle(java.lang.String pickerIconStyle)
controlStyle
.setPickerIconStyle
in class FormItem
pickerIconStyle
- New pickerIconStyle value. Default value is "selectItemPickerIcon"FormItem.setCellStyle(java.lang.String)
,
FormItemBaseStyle
,
FormItemStyling overview and related methods
public java.lang.String getPickerIconStyle()
controlStyle
.getPickerIconStyle
in class FormItem
FormItem.getCellStyle()
,
FormItemBaseStyle
,
FormItemStyling overview and related methods
public void setPickerIconWidth(java.lang.Integer pickerIconWidth)
showPickerIcon
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 the SCSpriteConfig
format. See the section on spriting in the skinning overview
for further information.
Note : This is an advanced setting
setPickerIconWidth
in class FormItem
pickerIconWidth
- New pickerIconWidth value. Default value is nullpublic java.lang.Integer getPickerIconWidth()
showPickerIcon
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 the SCSpriteConfig
format. See the section on spriting in the skinning overview
for further information.
getPickerIconWidth
in class FormItem
public NavigationBar getPickerNavigationBar()
NavigationBar
created when pickListPlacement
indicates that the search
interface takes over the entire panel or screen.
This component is an AutoChild named "pickerNavigationBar". For an overview of how to use and
configure AutoChildren, see Using AutoChildren
.
public void setPickListConstructor(java.lang.String pickListConstructor)
PickListMenu
.pickListConstructor
- New pickListConstructor value. Default value is "PickListMenu"SCClassName
public java.lang.String getPickListConstructor()
PickListMenu
.SCClassName
public void setPickListCriteria(Criteria pickListCriteria)
Note : This is an advanced setting
setPickListCriteria
in interface PickList
pickListCriteria
- New pickListCriteria value. Default value is nullpublic Criteria getPickListCriteria()
getPickListCriteria
in interface PickList
public void setPickListFields(ListGridField... pickListFields)
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 in
listGrids
, dataSource fields marked as hidden:true
will be hidden by default in pickLists. To override this
behavior, ensure that you specify an explicit value for showIf
.
Note : This is an advanced setting
pickListFields
- New pickListFields value. Default value is nullsetValueField(java.lang.String)
,
List - Related Records Examplepublic ListGridField[] getPickListFields()
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 in
listGrids
, dataSource fields marked as hidden:true
will be hidden by default in pickLists. To override this
behavior, ensure that you specify an explicit value for showIf
.
getValueField()
,
List - Related Records Examplepublic void setPickListPlacement(PanelPlacement pickListPlacement)
PanelPlacement
or a
specific widget that should be filled (by specifying an actual Canvas or Canvas.ID
). Default behavior is to "fillPanel"
if isHandset
or isTablet
, to better accomodate 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 a navigation bar
and done button
that hides the expanded interface.
pickListPlacement
- New pickListPlacement value. Default value is nullpublic PanelPlacement getPickListPlacement()
PanelPlacement
or a
specific widget that should be filled (by specifying an actual Canvas or Canvas.ID
). Default behavior is to "fillPanel"
if isHandset
or isTablet
, to better accomodate 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 a navigation bar
and done button
that hides the expanded interface.
public void setPickListPlacement(Canvas pickListPlacement)
PanelPlacement
or a
specific widget that should be filled (by specifying an actual Canvas or Canvas.ID
). Default behavior is to "fillPanel"
if isHandset
or isTablet
, to better accomodate 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 a navigation bar
and done button
that hides the expanded interface.
pickListPlacement
- New pickListPlacement value. Default value is nullpublic Canvas getPickListPlacementAsCanvas()
PanelPlacement
or a
specific widget that should be filled (by specifying an actual Canvas or Canvas.ID
). Default behavior is to "fillPanel"
if isHandset
or isTablet
, to better accomodate 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 a navigation bar
and done button
that hides the expanded interface.
public void setPickListPlacement(java.lang.String pickListPlacement)
PanelPlacement
or a
specific widget that should be filled (by specifying an actual Canvas or Canvas.ID
). Default behavior is to "fillPanel"
if isHandset
or isTablet
, to better accomodate 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 a navigation bar
and done button
that hides the expanded interface.
pickListPlacement
- New pickListPlacement value. Default value is nullpublic java.lang.String getPickListPlacementAsString()
PanelPlacement
or a
specific widget that should be filled (by specifying an actual Canvas or Canvas.ID
). Default behavior is to "fillPanel"
if isHandset
or isTablet
, to better accomodate 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 a navigation bar
and done button
that hides the expanded interface.
public void setProgressiveLoading(java.lang.Boolean progressiveLoading)
progressively
. This property is copied onto the underlying
PickList.progressiveLoading
- New progressiveLoading value. Default value is nullDataSource.setProgressiveLoading(java.lang.Boolean)
,
ProgressiveLoading overview and related methods
public java.lang.Boolean getProgressiveLoading()
progressively
. This property is copied onto the underlying
PickList.DataSource.getProgressiveLoading()
,
ProgressiveLoading overview and related methods
public void setSaveOnEnter(java.lang.Boolean saveOnEnter)
saveOnEnter
is true. Setting this property to
false
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.
setSaveOnEnter
in class FormItem
saveOnEnter
- New saveOnEnter value. Default value is truepublic java.lang.Boolean getSaveOnEnter()
saveOnEnter
is true. Setting this property to
false
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.
getSaveOnEnter
in class FormItem
public void setSeparateSpecialValues(java.lang.Boolean separateSpecialValues)
special values
such as the empty
value will be shown in a separate non-scrolling area, in the separateValuesList
. 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.separateSpecialValues
- New separateSpecialValues value. Default value is nullpublic java.lang.Boolean getSeparateSpecialValues()
special values
such as the empty
value will be shown in a separate non-scrolling area, in the separateValuesList
. 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.public ListGrid getSeparateValuesList()
specialValues
.
This component is an AutoChild named "separateValuesList". For an overview of how to use and
configure AutoChildren, see Using AutoChildren
.
public void setShowFocused(java.lang.Boolean showFocused)
See FormItemStyling
for more details on formItem styling.
Note : This is an advanced setting
setShowFocused
in class FormItem
showFocused
- New showFocused value. Default value is true, [IRWA]FormItem.setCellStyle(java.lang.String)
,
FormItemStyling overview and related methods
public java.lang.Boolean getShowFocused()
See FormItemStyling
for more details on formItem styling.
getShowFocused
in class FormItem
FormItem.getCellStyle()
,
FormItemStyling overview and related methods
public void setShowHintInField(java.lang.Boolean showHintInField)
CSS style for the hint is textBoxStyle
with the suffix "Hint" appended to it.
Note : This is an advanced setting
showHintInField
- New showHintInField value. Default value is nullFormItem.setHint(java.lang.String)
,
Appearance overview and related methods
public java.lang.Boolean getShowHintInField()
CSS style for the hint is textBoxStyle
with the suffix "Hint" appended to it.
FormItem.getHint()
,
Appearance overview and related methods
public void setShowOptionsFromDataSource(java.lang.Boolean showOptionsFromDataSource)
valueMap
, 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's dataSource
.
Note : This is an advanced setting
setShowOptionsFromDataSource
in interface PickList
showOptionsFromDataSource
- New showOptionsFromDataSource value. Default value is nullDatabinding overview and related methods
public java.lang.Boolean getShowOptionsFromDataSource()
valueMap
, 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's dataSource
.getShowOptionsFromDataSource
in interface PickList
Databinding overview and related methods
public void setShowOver(boolean showOver)
By default this property is
true for SelectItems, and updateTextBoxOnOver
and updateControlOnOver
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
setShowOver
in class FormItem
showOver
- New showOver value. Default value is trueFormItemStyling overview and related methods
public boolean getShowOver()
By default this property is
true for SelectItems, and updateTextBoxOnOver
and updateControlOnOver
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.
getShowOver
in class FormItem
FormItemStyling overview and related methods
public void setShowPickerIcon(java.lang.Boolean showPickerIcon)
icon
for this form item?
Picker icons are customizable via pickerIconProperties
. By default they will be rendered inside the form item's "control box"
area. By default clicking the pickerIcon
will call FormItem.showPicker()
.setShowPickerIcon
in class FormItem
showPickerIcon
- New showPickerIcon value. Default value is truepublic java.lang.Boolean getShowPickerIcon()
icon
for this form item?
Picker icons are customizable via pickerIconProperties
. By default they will be rendered inside the form item's "control box"
area. By default clicking the pickerIcon
will call FormItem.showPicker()
.getShowPickerIcon
in class FormItem
public void setSortField(java.lang.String sortField)
field name
, or an array of field names - but note that, if
multiple fields are supplied, then each will be sorted in the same direction
. 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.
sortField
- New sortField value. Default value is nullpublic java.lang.String getSortField()
field name
, or an array of field names - but note that, if
multiple fields are supplied, then each will be sorted in the same direction
. 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.
public void setSortField(java.lang.String... sortField)
field name
, or an array of field names - but note that, if
multiple fields are supplied, then each will be sorted in the same direction
. 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.
sortField
- New sortField value. Default value is nullpublic java.lang.String[] getSortFieldAsStringArray()
field name
, or an array of field names - but note that, if
multiple fields are supplied, then each will be sorted in the same direction
. 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.
public void setSortField(java.lang.Integer sortField)
field name
, or an array of field names - but note that, if
multiple fields are supplied, then each will be sorted in the same direction
. 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.
sortField
- New sortField value. Default value is nullpublic java.lang.Integer getSortFieldAsInt()
field name
, or an array of field names - but note that, if
multiple fields are supplied, then each will be sorted in the same direction
. 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.
public void setSpecialValues(java.util.Map specialValues)
com.smartgwt.client.types.ValueMap
or in the data returned by the optionDataSource
. 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 if separateSpecialValues
is enabled.
If specialValues
are configured, allowEmptyValue
is ignored
- an empty value, if desired, must be included in the specialValues
. To provide a
specialValue
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 with
separateSpecialValues
mode enabled.
Also, if an optionDataSource
is used,
specialValues
that appear in the normal
dataset will be updated by automatic cache synchronization
(if the
displayField
is updated). However when using
a distinct valueField
and displayField
, you are required to provide specialValues
as a map (there is no support for
fetchMissingValues
automatically fetching
appropriate display values).
Note that specialValues are not supported in conjunction with MultiComboBoxItem
. Whereas with selectItem.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.
specialValues
- New specialValues value. Default value is nullpublic java.util.Map getSpecialValues()
com.smartgwt.client.types.ValueMap
or in the data returned by the optionDataSource
. 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 if separateSpecialValues
is enabled.
If specialValues
are configured, allowEmptyValue
is ignored
- an empty value, if desired, must be included in the specialValues
. To provide a
specialValue
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 with
separateSpecialValues
mode enabled.
Also, if an optionDataSource
is used,
specialValues
that appear in the normal
dataset will be updated by automatic cache synchronization
(if the
displayField
is updated). However when using
a distinct valueField
and displayField
, you are required to provide specialValues
as a map (there is no support for
fetchMissingValues
automatically fetching
appropriate display values).
Note that specialValues are not supported in conjunction with MultiComboBoxItem
. Whereas with selectItem.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.
public void setTextBoxStyle(java.lang.String textBoxStyle)
See FormItemStyling
for an
overview of formItem styling, and the CompoundFormItem_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.
setTextBoxStyle
in class FormItem
textBoxStyle
- New textBoxStyle value. Default value is "selectItemText", [IRA]FormItem.setCellStyle(java.lang.String)
,
FormItemBaseStyle
,
Appearance overview and related methods
public java.lang.String getTextBoxStyle()
See FormItemStyling
for an
overview of formItem styling, and the CompoundFormItem_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.
getTextBoxStyle
in class FormItem
FormItem.getCellStyle()
,
FormItemBaseStyle
,
Appearance overview and related methods
public void setTextMatchStyle(TextMatchStyle textMatchStyle)
For a databound pickList (optionDataSource
set),
textMatchStyle
is sent to the server as DSRequest.textMatchStyle
.
For a non-databound pickList, textMatchStyle
is applied by
filterClientPickListData().
setTextMatchStyle
in interface PickList
textMatchStyle
- New textMatchStyle value. Default value is "startsWith"public TextMatchStyle getTextMatchStyle()
For a databound pickList (optionDataSource
set),
textMatchStyle
is sent to the server as DSRequest.textMatchStyle
.
For a non-databound pickList, textMatchStyle
is applied by
filterClientPickListData().
getTextMatchStyle
in interface PickList
public void setUpdateControlOnOver(java.lang.Boolean updateControlOnOver)
FormItem.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
setUpdateControlOnOver
in class FormItem
updateControlOnOver
- New updateControlOnOver value. Default value is falsesetShowOver(boolean)
,
FormItemStyling overview and related methods
public java.lang.Boolean getUpdateControlOnOver()
FormItem.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).getUpdateControlOnOver
in class FormItem
getShowOver()
,
FormItemStyling overview and related methods
public void setUpdateTextBoxOnOver(java.lang.Boolean updateTextBoxOnOver)
FormItem.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
setUpdateTextBoxOnOver
in class FormItem
updateTextBoxOnOver
- New updateTextBoxOnOver value. Default value is falsesetShowOver(boolean)
,
FormItemStyling overview and related methods
public java.lang.Boolean getUpdateTextBoxOnOver()
FormItem.showOver
is true, setting this property
to false will explicitly disable showing the "Over" state for the TextBox element of this item.getUpdateTextBoxOnOver
in class FormItem
getShowOver()
,
FormItemStyling overview and related methods
public void setUseClientFiltering(java.lang.Boolean useClientFiltering)
databound
items, this property will
be passed to the generated ResultSet data object for the pickList as ResultSet.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
useClientFiltering
- New useClientFiltering value. Default value is nullpublic java.lang.Boolean getUseClientFiltering()
databound
items, this property will
be passed to the generated ResultSet data object for the pickList as ResultSet.useClientFiltering
. Setting to false will disable
filtering on the client and ensure criteria are always passed to the DataSource directly.public void setValueField(java.lang.String valueField)
FormItem.displayField
values from an optionDataSource
, this property denotes the the
field to use as the underlying data value in records from the optionDataSource.FormItem.getValueFieldName()
.setValueField
in interface PickList
setValueField
in class FormItem
valueField
- New valueField value. Default value is nullDatabinding overview and related methods
,
List - Related Records Examplepublic java.lang.String getValueField()
FormItem.displayField
values from an optionDataSource
, this property denotes the the
field to use as the underlying data value in records from the optionDataSource.FormItem.getValueFieldName()
.getValueField
in interface PickList
getValueField
in class FormItem
FormItem.valueField
for this item. For items with a specified FormItem.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 the FormItem.name
of this field. Default value is null
Databinding overview and related methods
,
List - Related Records Examplepublic com.google.gwt.event.shared.HandlerRegistration addDataArrivedHandler(DataArrivedHandler handler)
If this item is showing a dataBound pickList, this notification method will be fired when new data arrives from the server.
addDataArrivedHandler
in interface HasDataArrivedHandlers
handler
- the dataArrived handlerHandlerRegistration
used to remove this handlerpublic void defaultDynamicValue()
defaultValue
when no value is provided for this item. To default to the first option use defaultToFirstOption
instead.public java.lang.String getDisplayFieldName()
displayField
for this item. Behavior varies based on the configuration of this item, as follows:
optionDataSource
and an explicit FormItem.foreignDisplayField
is specified, this will be returned.displayField
is specified it will be returned by
default. If the displayField
was specified on the underlying dataSource field, and no matching field is
present in the optionDataSource
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.FormItem.valueField
for this item is hidden in the FormItem.optionDataSource
, this method will return
the title field for the optionDataSource
.getDisplayFieldName
in interface PickList
getDisplayFieldName
in class FormItem
FieldName
public ListGridRecord[] getSelectedRecords()
optionDataSource
and allowing multiple selection (via
multiple:true
), returns the list of currently selected records, or null if none are selected.public java.lang.String getValueFieldName()
FormItem.valueField
for this item. For items with a specified FormItem.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 the FormItem.name
of this field.
getValueFieldName
in interface PickList
getValueFieldName
in class FormItem
FormItem.optionDataSource
public boolean pendingStatusChanged(DynamicForm form, FormItem item, boolean pendingStatus, java.lang.Object newValue, java.lang.Object value)
showPending
is
enabled and this SelectItem
should either clear or show its pending visual state. The default behavior
is that the titleStyle
and cellStyle
are updated to include/exclude the "Pending"
suffix. In addition, a multiple
SelectItem
when displayed in the pending state will apply FormItem.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. Returning false
will cancel
this default behavior.
form
- the managing DynamicForm
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 to DynamicForm.resetValues()
.false
to cancel the default behavior.public void showPicker()
pickerIcon
. May also be called programmatically.
Default implementation lazily creates and shows the Picker Autochild
. May be overridden to implement some custom
picker for this item.
showPicker
in class FormItem
public static void setDefaultProperties(SelectItem selectItemProperties)
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.
selectItemProperties
- properties that should be used as new defaults when instances of this class are createdSGWTProperties
protected Criteria getPickListFilterCriteria()
setPickListFilterCriteriaFunction(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 to ListGridField.setEditorType(com.smartgwt.client.widgets.form.fields.FormItem)
.public void setSpecialValues(java.lang.String... values)
values
- the special valuespublic void setSpecialValues(java.util.LinkedHashMap valueMap)
valueMap
- the special value mappublic void setPickListHeight(int pickListHeight)
setPickListHeight
in interface PickList
pickListHeight
- pickListHeight Default value is 300public int getPickListHeight()
getPickListHeight
in interface PickList
public void setEmptyPickListHeight(int emptyPickListHeight)
hideEmptyPickList
is false
.setEmptyPickListHeight
in interface PickList
emptyPickListHeight
- emptyPickListHeight Default value is 100public int getEmptyPickListHeight()
hideEmptyPickList
is false
.getEmptyPickListHeight
in interface PickList
public void setHideEmptyPickList(java.lang.Boolean hideEmptyPickList)
setHideEmptyPickList
in interface PickList
hideEmptyPickList
- hideEmptyPickList Default value is nullpublic java.lang.Boolean getHideEmptyPickList()
getHideEmptyPickList
in interface PickList
public void setPickListWidth(java.lang.Integer pickListWidth)
setPickListWidth
in interface PickList
pickListWidth
- pickListWidth Default value is nullpublic java.lang.Integer getPickListWidth()
getPickListWidth
in interface PickList
public void setPickListBaseStyle(java.lang.String pickListBaseStyle)
setPickListBaseStyle
in interface PickList
pickListBaseStyle
- pickListBaseStyle Default value is "pickListCell"public java.lang.String getPickListBaseStyle()
getPickListBaseStyle
in interface PickList
public void setAnimatePickList(java.lang.Boolean animatePickList)
Note : This is an advanced setting
setAnimatePickList
in interface PickList
animatePickList
- animatePickList Default value is nullpublic java.lang.Boolean getAnimatePickList()
getAnimatePickList
in interface PickList
public void setAnimationTime(int animationTime)
Note : This is an advanced setting
setAnimationTime
in interface PickList
animationTime
- animationTime Default value is 200public int getAnimationTime()
getAnimationTime
in interface PickList
public void setPickListHeaderHeight(int pickListHeaderHeight)
setPickListHeaderHeight
in interface PickList
pickListHeaderHeight
- pickListHeaderHeight Default value is 22public int getPickListHeaderHeight()
getPickListHeaderHeight
in interface PickList
public void setPickListCellHeight(int pickListCellHeight)
setPickListCellHeight
in interface PickList
pickListCellHeight
- pickListCellHeight Default value is 16public int getPickListCellHeight()
getPickListCellHeight
in interface PickList
public void setValueIconField(java.lang.String valueIconField)
valueIcons
should show up in for this formItem's pickList.displayField
column if specified, otherwise
the valueField
column.displayField
or valueField
will be visible. This property is typically only
required if custom pickListFields
have been specified for this item. Note : This is an advanced setting
setValueIconField
in interface PickList
valueIconField
- valueIconField Default value is nullpublic java.lang.String getValueIconField()
valueIcons
should show up in for this formItem's pickList.displayField
column if specified, otherwise
the valueField
column.displayField
or valueField
will be visible. This property is typically only
required if custom pickListFields
have been specified for this item.getValueIconField
in interface PickList
public void setShowAllOptions(java.lang.Boolean showAllOptions)
separatorRows
in between. Not valid for optionDataSource
.setShowAllOptions
in interface PickList
showAllOptions
- showAllOptions Default value is nullpublic java.lang.Boolean getShowAllOptions()
separatorRows
in between. Not valid for optionDataSource
.getShowAllOptions
in interface PickList
public void setPickListCriteria(DSRequest optionFilterContext)
optionDataSource
, and this property is not null, this will be passed to
the datasource as RPCRequest
properties when performing the filter operation on
the dataSource to obtain the set of options for the list. Note : This is an advanced setting
optionFilterContext
- optionFilterContext Default value is nullpublic void setOptionDataSource(DataSource dataSource)
optionDataSource
. The fetched data will be used as a valueMap
by extracting the valueField
and
displayField
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 setting pickListFields
. The data will be retrieved via a "fetch" operation on the DataSource, passing the pickListCriteria
(if set) as criteria, and passing optionFilterContext
(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 call com.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 set
filterLocally
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
setOptionDataSource
in interface PickList
setOptionDataSource
in class FormItem
optionDataSource
- optionDataSource Default value is nullFormItem.invalidateDisplayValueCache()
,
List - Combo Box Examplepublic DataSource getOptionDataSource()
FormItem
com.smartgwt.client.types.ValueMap
were specified, by fetching records from the specified optionDataSource
and extracting the valueField
and displayField
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 to setValue()
, such as may happen when DynamicForm.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 and
optionDataSource
is unset, optionDataSource
will default to the form's current DataSource
getOptionDataSource
in interface PickList
getOptionDataSource
in class FormItem
optionDataSource
for this item.
Always uses item.optionDataSource
if specified. Otherwise, if DataSourceField.foreignKey
was specified, uses the target
DataSource. Otherwise, uses the DataSource of this item's form (if one is configured). Default value is null
FormItem.invalidateDisplayValueCache()
,
List - Combo Box Examplepublic void setSeparatorRows(ListGridRecord[] separatorRows)
PickList
Not valid for 'databound pickLists'
.
setSeparatorRows
in interface PickList
separatorRows
- separator rowspublic void setDefaultValues(java.lang.String... defaultValues)
null
programmatically, it will be reverted to the defaultValues
.defaultValues
- the defaultValues. Default value is nullpublic void setDefaultValues(java.lang.Integer... defaultValues)
null
programmatically, it will be reverted to the defaultValues
.defaultValues
- the defaultValues. Default value is nullpublic void setFetchDelay(java.lang.Integer fetchDelay)
PickList
setFetchDelay
in interface PickList
fetchDelay
- the fetch delay. defaults to 200mspublic java.lang.Integer getFetchDelay()
PickList
getFetchDelay
in interface PickList
public java.lang.String[] getValues()
public void setValues(java.lang.String... values)
values
- the SelectItem valuespublic java.lang.Boolean isMultiple()
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 the MultipleAppearance
setting.
The logical value of the formItem, as retrieved by getValue()
and set via setValue()
, 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 calling DataSource.fetchData
directly and calling dsResponse.data.getValueMap()
to obtain a valueMap.
Appearance overview and related methods
public ListGridRecord[] filterClientPickListData()
PickList
The default implementation applies the criteria returned by #getPickListFilterCriteria
to the data returned
by PickList.getClientPickListData()
. A record passes the filter if it has a matching value for all fields in the criteria
object. Matching is performed according to textMatchStyle
.
If showAllOptions
is set, all values are shown, with matching values shown below a
separator
.
filterClientPickListData
in interface PickList
public ListGridRecord[] getClientPickListData()
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.
getClientPickListData
in interface PickList
public ListGridRecord getSelectedRecord()
getSelectedRecord
in class FormItem
public void setPickListFilterCriteriaFunction(FilterCriteriaFunction filterCriteriaFunction)
setPickListFilterCriteriaFunction(FormItemCriteriaFunction)
setPickListFilterCriteriaFunction
in interface PickList
filterCriteriaFunction
- the filter criteria functionpublic void setPickListFilterCriteriaFunction(FormItemCriteriaFunction filterCriteriaFunction)
public void setPickListProperties(ListGrid pickListProperties)
Note: Not every ListGrid property is supported when assigned to a pickList.
Where there is a dedicated API on the form item (such as
setPickListCellHeight()
),
we recommend that be used in favor of setting the equivalent property on the
pickListProperties
block.
PickLists and setShowFilterEditor()
:
ComboBoxItems
do not support
setting showFilterEditor
to true on pickListProperties.
This combination of settings leads to an ambiguous user
exprience as the two sets of filter-criteria (those from the text-box and those from the
pickList filter editor) interact with each other.
setPickListProperties()
is a valid way to create a filterable pickList, on
a SelectItem, but this setting is not supported on a SelectItem with
setMultiple()
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
(with setAddUnknownValues()
set as appropriate) as a better interface for filtering pickList data.
pickListProperties
- the pick list propertiespublic void setOptionFilterContext(DSRequest dsRequestProperties)
PickList
optionDataSource
, and this property is
not null, this will be passed to the datasource as RPCRequest
properties when
performing the fetch operation on the dataSource to obtain a data-value to display-value
mapping
Note : This is an advanced setting
setOptionFilterContext
in interface PickList
dsRequestProperties
- optionFilterContext Default value is nullpublic java.lang.String getValueAsString()
public void setPickListSort(SortSpecifier[] sortSpecifiers)
'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)
and com.smartgwt.client.widgets.grid.ListGrid#alterSort
APIs for information on making changes to the current sort configuration.
sortSpecifiers
- Array of SortSpecifier objectspublic void fetchData()
public void fetchData(DSCallback callback)
SelectItem#fetchData()}
public void fetchData(DSCallback callback, DSRequest requestProperties)
callback
- Callback to fire when the fetch completes. Callback will fire with 4 parameters:item
a pointer to the form item dsResponse
the DSResponse
returned by the server data
the raw data returned by the server
dsRequest
the DSRequest
sent to the server requestProperties
- properties to apply to the dsRequest for this fetch.