Package com.smartgwt.client.widgets.form.fields

# Class MultiPickerItem

java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.core.RefDataClass
com.smartgwt.client.data.Field
com.smartgwt.client.widgets.form.fields.FormItem
com.smartgwt.client.widgets.form.fields.StaticTextItem
com.smartgwt.client.widgets.form.fields.MultiPickerItem

All Implemented Interfaces:
  `HasHandlers`, `HasBlurHandlers`, `HasChangedHandlers`, `HasChangeHandlers`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasEditorEnterHandlers`, `HasEditorExitHandlers`, `HasFocusHandlers`, `HasIconClickHandlers`, `HasIconKeyPressHandlers`, `HasItemHoverHandlers`, `HasKeyDownHandlers`, `HasKeyPressHandlers`, `HasKeyUpHandlers`, `HasPendingStatusChangedHandlers`, `HasPickerIconClickHandlers`, `HasShowContextMenuHandlers`, `HasTitleClickHandlers`, `HasTitleDoubleClickHandlers`, `HasTitleHoverHandlers`, `HasValueHoverHandlers`, `HasValueIconClickHandlers`

Direct Known Subclasses:
  `SetFilterItem`

public class MultiPickerItem extends StaticTextItem
MultiPickerItem provides an interface to edit data involving whether a record has membership in a certain set, for example, where specific Employees are part of specific Teams.

MultiPickerItem is a compact editor for this purpose, using a `pop-up` to present a `Shuttle`-style interface for moving records or values being different categories. When the MultiPickerItem pop-up is not active, MultiPickerItem just displays the currently chosen values as read-only text, which can be `clipped` to appear in a very small space.

Note: if your use case is a search interface to generate criteria, in either the FilterEditor of a ListGrid/TreeGrid, or in a SearchForm, SetFilterItem is the right choice. Generally, use SetFilterItem for searching, and MultiPickerItem (or `Shuttle`) for editing.

To configure a MultiPickerItem, provide either an optionDataSource or a valueMap. The `value` stored by a MultiPickerItem is the set of selected items, as either a list of `primary key values` if an optionDataSource is used, or as just ID values if an valueMap is used.

The item's picker-component can be customized via settings such as `sortField`, or by configuring `auto-children` like the `search-form`, the `main pickList-grid` or the separate list of `selected values`. You can use `optionFilterContext` to apply custom `requestProperties` to fetches from the main `pickList` grid.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.smartgwt.client.widgets.form.fields.FormItem

  `FormItem.CustomStateGetter, FormItem.StateCustomizer`

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.widgets.form.fields.FormItem

  `configOnly, scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault`

  ### Fields inherited from class com.smartgwt.client.core.RefDataClass

  `id`

  ### Fields inherited from class com.smartgwt.client.core.DataClass

  `factoryCreated, factoryProperties`

  ### Fields inherited from class com.smartgwt.client.core.JsObject

  `jsObj`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MultiPickerItem()`
  `MultiPickerItem(JavaScriptObject jsObj)`
  `MultiPickerItem(String name)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `static void`
  `changePickerIconDefaults(FormItemIcon defaults)`
  `Boolean`
  `getCanExpand()`
  Should we show an `expansionIcon` expand button allowing the user to show an expanded view of the `pickList` with multiple fields.
  `Boolean`
  `getCanSelectFolders()`
  For multiPickerItems with `selectionStyle:"pickTree"`, should the user be able to select and deselect folders?
  `Boolean`
  `getCascadeSelection()`
  For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should `TreeGrid.cascadeSelection` be enabled on our pickTree?
  `String`
  `getCollapseIconSrc()`
  `SCImgURL` for the `expansionIcon` while in expanded mode
  `Boolean`
  `getDeriveUniqueValues()`
  If this MultiPickerItem is deriving its options from a dataSource, should it ensure unique field values by `grouping by` the value field for this item? This is not necessary if the target dataSource value field is already unique - for example if this is the primaryKey field for a dataSource.
  `ToolStripButton`
  `getDeselectAllButton()`
  Clear All button `com.smartgwt.client.types.AutoChild`
  `String`
  `getDeselectAllButtonTitle()`
  Title for the `deselectAllButton`
  `String`
  `getDeselectAllWhileFiltered_disabledPrompt()`
  Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
  `String`
  `getDeselectAllWhileFiltered_partialCachePrompt()`
  Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
  `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`.
  `ListGridField[]`
  `getExpandedPickListFields()`
  If `canExpand` is true, this is the list of fields to display in the PickList or `pickTree` when the picker is expanded
  `String`
  `getExpandIconSrc()`
  `SCImgURL` for the `expansionIcon` while not in expanded mode
  `Integer`
  `getExpansionHeight()`
  Height for the `pickerLayout` in expanded mode when `canExpand` is true
  `ToolStripButton`
  `getExpansionIcon()`
  Automatically generated expand / collapse icon when `canExpand` is true
  `Integer`
  `getExpansionWidth()`
  Width for the `pickerLayout` in expanded mode when `canExpand` is true
  `DynamicForm`
  `getFilterForm()`
  Dynamic form showing a single text item for filtering the PickList while `SelectionStyle` is "pickList".
  `String`
  `getFilterHint()`
  `Hint` for the `filterForm` text item.
  `FormItemIcon`
  `getFilterIcon()`
  Automatically generated right-aligned inline filter indicator icon for the `filterForm` text box.
  `Integer`
  `getFilterIconHeight()`
  `height` for the `filterIcon`
  `String`
  `getFilterIconSrc()`
  `src` for the `filterIcon`
  `Integer`
  `getFilterIconWidth()`
  `width` for the `filterIcon`
  `boolean`
  `getFilterPickListOnKeypress()`
  Should `filterOnKeypress` be active for the pickList?
  `Boolean`
  `getIncludeSelectedParents()`
  For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should selected parent nodes be included in the item's value?
  `SortSpecifier[]`
  `getInitialSort()`
  `Initial sort specifiers` for this item's list of options.
  `Boolean`
  `getMultiple()`
  MultiPickerItems always work with array values
  `Criteria`
  `getOptionCriteria()`
  If this MultiPickerItem is deriving its options from a dataSource, this property allows developers to specify criteria for the fetch.
  `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.
  `DSRequest`
  `getOptionFilterContext()`
  If this item has a specified `optionDataSource`, and this property is not null, the context is passed to the dataSource as `RPCRequest` properties when performing fetch operations on the dataSource to obtain a data-value to display-value mapping, and when fetching for grid-based pickers.
  `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 MultiPickerItem`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `VLayout`
  `getPickerLayout()`
  Main dropdown picker layout containing the PickList or `Shuttle`.
  `HLayout`
  `getPickerToolbar()`
  Toolbar autoChild containing the `selectAllButton`, `deselectAllButton` and `expansionIcon`.
  `ListGrid`
  `getPickList()`
  The MultiPickerItem `pickList` is a filterable ListGrid `com.smartgwt.client.types.AutoChild` for viewing and selecting the list of available options when `SelectionStyle` is `"pickList"`.
  `Integer`
  `getPickListFetchDelay()`
  If `filterPickListOnKeypress` is true, how long to wait in ms after the last keystroke from a user before filtering the pickList.
  `ListGridField[]`
  `getPickListFields()`
  Optional list of fields for the `pickList`.
  `Integer`
  `getPickListHeight()`
  Default height for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
  `Integer`
  `getPickListWidth()`
  Default width for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
  `TreeGrid`
  `getPickTree()`
  The MultiPickerItem `pickTree` is a TreeGrid `com.smartgwt.client.types.AutoChild` for viewing and selecting a tree of available options when `SelectionStyle` is `"pickTree"`.
  `ToolStripButton`
  `getSelectAllButton()`
  Select All button `com.smartgwt.client.types.AutoChild`
  `String`
  `getSelectAllButtonTitle()`
  Title for the `selectAllButton`
  `FilteredSelectAllAction`
  `getSelectAllWhileFiltered()`
  If the user has filtered the set of options available in this item, how should the "Select All" and "Clear All" buttons work?
  `String`
  `getSelectAllWhileFiltered_disabledPrompt()`
  Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
  `String`
  `getSelectAllWhileFiltered_partialCachePrompt()`
  Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
  `String`
  `getSelectedSelectionListTitle()`
  Default title for the `selectionList`.
  `ListGrid`
  `getSelectionList()`
  Automatically generated ListGrid displaying the current selection for `selectionStyle:"pickList"`.
  `Label`
  `getSelectionListLabel()`
  AutoChild to show the `selectedSelectionListTitle`
  `MultiPickerSelectionStyle`
  `getSelectionStyle()`
  Should the MultiPickerItem use a `Shuttle` style interface to indicate the currently selected / unselected values?
  `boolean`
  `getShowFilterForm()`
  Should the `filterForm` be shown?
  `Boolean`
  `getShowSelectionLabel()`
  Should we show a `selectionListLabel` for the `selectedSelectionListTitle` above the `selectionList`.
  `Boolean`
  `getShowSelectionList()`
  Should a `list of selected items` be displayed below the PickList if `SelectionStyle` is `"pickList"`?
  `Shuttle`
  `getShuttle()`
  AutoChild `Shuttle` shown in the `pickerLayout` when `SelectionStyle` is set to `"shuttle"`.
  `Integer`
  `getShuttleHeight()`
  Height for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
  `Integer`
  `getShuttleWidth()`
  Width for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
  `SortDirection`
  `getSortDirection()`
  `Sort direction` for this item's list of options.
  `String`
  `getSortField()`
  `Sort field` for this item's list of options.
  `Integer`
  `getSortFieldAsInt()`
  `Sort field` for this item's list of options.
  `String[]`
  `getSortFieldAsStringArray()`
  `Sort field` for this item's list of options.
  `TextMatchStyle`
  `getTextMatchStyle()`
  textMatchStyle to apply to `option criteria` for this item
  `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()`.
  `String`
  `getValueFieldName()`
  Getter method to retrieve the `FormItem.valueField` for this item.
  `MultiPickerItem`
  `setCanExpand(Boolean canExpand)`
  Should we show an `expansionIcon` expand button allowing the user to show an expanded view of the `pickList` with multiple fields.
  `MultiPickerItem`
  `setCanSelectFolders(Boolean canSelectFolders)`
  For multiPickerItems with `selectionStyle:"pickTree"`, should the user be able to select and deselect folders?
  `MultiPickerItem`
  `setCascadeSelection(Boolean cascadeSelection)`
  For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should `TreeGrid.cascadeSelection` be enabled on our pickTree?
  `MultiPickerItem`
  `setCollapseIconSrc(String collapseIconSrc)`
  `SCImgURL` for the `expansionIcon` while in expanded mode
  `static void`
  `setDefaultProperties(MultiPickerItem multiPickerItemProperties)`
  Class level method to set the default properties of this class.
  `MultiPickerItem`
  `setDeriveUniqueValues(Boolean deriveUniqueValues)`
  If this MultiPickerItem is deriving its options from a dataSource, should it ensure unique field values by `grouping by` the value field for this item? This is not necessary if the target dataSource value field is already unique - for example if this is the primaryKey field for a dataSource.
  `MultiPickerItem`
  `setDeselectAllButtonTitle(String deselectAllButtonTitle)`
  Title for the `deselectAllButton`
  `MultiPickerItem`
  `setDeselectAllWhileFiltered_disabledPrompt(String deselectAllWhileFiltered_disabledPrompt)`
  Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
  `MultiPickerItem`
  `setDeselectAllWhileFiltered_partialCachePrompt(String deselectAllWhileFiltered_partialCachePrompt)`
  Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
  `MultiPickerItem`
  `setDisplayField(String displayField)`
  If set, this item will display a value from another field to the user instead of showing the underlying data value for the `field name`.
  `MultiPickerItem`
  `setExpandedPickListFields(ListGridField... expandedPickListFields)`
  If `canExpand` is true, this is the list of fields to display in the PickList or `pickTree` when the picker is expanded
  `MultiPickerItem`
  `setExpandIconSrc(String expandIconSrc)`
  `SCImgURL` for the `expansionIcon` while not in expanded mode
  `MultiPickerItem`
  `setExpansionHeight(Integer expansionHeight)`
  Height for the `pickerLayout` in expanded mode when `canExpand` is true
  `MultiPickerItem`
  `setExpansionWidth(Integer expansionWidth)`
  Width for the `pickerLayout` in expanded mode when `canExpand` is true
  `MultiPickerItem`
  `setFilterHint(String filterHint)`
  `Hint` for the `filterForm` text item.
  `MultiPickerItem`
  `setFilterIconHeight(Integer filterIconHeight)`
  `height` for the `filterIcon`
  `MultiPickerItem`
  `setFilterIconSrc(String filterIconSrc)`
  `src` for the `filterIcon`
  `MultiPickerItem`
  `setFilterIconWidth(Integer filterIconWidth)`
  `width` for the `filterIcon`
  `MultiPickerItem`
  `setFilterPickListOnKeypress(boolean filterPickListOnKeypress)`
  Should `filterOnKeypress` be active for the pickList?
  `MultiPickerItem`
  `setIncludeSelectedParents(Boolean includeSelectedParents)`
  For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should selected parent nodes be included in the item's value?
  `MultiPickerItem`
  `setInitialSort(SortSpecifier... initialSort)`
  `Initial sort specifiers` for this item's list of options.
  `MultiPickerItem`
  `setMultiple(Boolean multiple)`
  MultiPickerItems always work with array values
  `void`
  `setOptionCriteria(Criteria optionCriteria)`
  If this MultiPickerItem is deriving its options from a dataSource, this property allows developers to specify criteria for the fetch.
  `MultiPickerItem`
  `setOptionDataSource(DataSource optionDataSource)`
  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.
  `MultiPickerItem`
  `setOptionFilterContext(DSRequest optionFilterContext)`
  If this item has a specified `optionDataSource`, and this property is not null, the context is passed to the dataSource as `RPCRequest` properties when performing fetch operations on the dataSource to obtain a data-value to display-value mapping, and when fetching for grid-based pickers.
  `MultiPickerItem`
  `setOptionOperationId(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.
  `MultiPickerItem`
  `setPickListFetchDelay(Integer pickListFetchDelay)`
  If `filterPickListOnKeypress` is true, how long to wait in ms after the last keystroke from a user before filtering the pickList.
  `MultiPickerItem`
  `setPickListFields(ListGridField... pickListFields)`
  Optional list of fields for the `pickList`.
  `MultiPickerItem`
  `setPickListHeight(Integer pickListHeight)`
  Default height for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
  `MultiPickerItem`
  `setPickListWidth(Integer pickListWidth)`
  Default width for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
  `MultiPickerItem`
  `setSelectAllButtonTitle(String selectAllButtonTitle)`
  Title for the `selectAllButton`
  `MultiPickerItem`
  `setSelectAllWhileFiltered(FilteredSelectAllAction selectAllWhileFiltered)`
  If the user has filtered the set of options available in this item, how should the "Select All" and "Clear All" buttons work?
  `MultiPickerItem`
  `setSelectAllWhileFiltered_disabledPrompt(String selectAllWhileFiltered_disabledPrompt)`
  Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
  `MultiPickerItem`
  `setSelectAllWhileFiltered_partialCachePrompt(String selectAllWhileFiltered_partialCachePrompt)`
  Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
  `MultiPickerItem`
  `setSelectedSelectionListTitle(String selectedSelectionListTitle)`
  Default title for the `selectionList`.
  `MultiPickerItem`
  `setSelectionStyle(MultiPickerSelectionStyle selectionStyle)`
  Should the MultiPickerItem use a `Shuttle` style interface to indicate the currently selected / unselected values?
  `MultiPickerItem`
  `setShowFilterForm(boolean showFilterForm)`
  Should the `filterForm` be shown?
  `MultiPickerItem`
  `setShowSelectionLabel(Boolean showSelectionLabel)`
  Should we show a `selectionListLabel` for the `selectedSelectionListTitle` above the `selectionList`.
  `MultiPickerItem`
  `setShowSelectionList(Boolean showSelectionList)`
  Should a `list of selected items` be displayed below the PickList if `SelectionStyle` is `"pickList"`?
  `MultiPickerItem`
  `setShuttleHeight(Integer shuttleHeight)`
  Height for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
  `MultiPickerItem`
  `setShuttleWidth(Integer shuttleWidth)`
  Width for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
  `MultiPickerItem`
  `setSortDirection(SortDirection sortDirection)`
  `Sort direction` for this item's list of options.
  `MultiPickerItem`
  `setSortField(Integer sortField)`
  `Sort field` for this item's list of options.
  `MultiPickerItem`
  `setSortField(String sortField)`
  `Sort field` for this item's list of options.
  `MultiPickerItem`
  `setSortField(String... sortField)`
  `Sort field` for this item's list of options.
  `MultiPickerItem`
  `setTextMatchStyle(TextMatchStyle textMatchStyle)`
  textMatchStyle to apply to `option criteria` for this item
  `MultiPickerItem`
  `setValueField(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()`.

  ### Methods inherited from class com.smartgwt.client.widgets.form.fields.StaticTextItem

  `getApplyAlignToText, getApplyHeightToTextBox, getCanSelectText, getClipValue, getDateFormatter, getDefaultValue, getEditProxyConstructor, getEscapeHTML, getTextBoxStyle, getWrap, setApplyAlignToText, setApplyHeightToTextBox, setCanSelectText, setClipValue, setDateFormatter, setDefaultProperties, setEditProxyConstructor, setEscapeHTML, setTextBoxStyle, setWrap`

  ### Methods inherited from class com.smartgwt.client.widgets.form.fields.FormItem

  `_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIcon, addIcon, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPendingStatusChangedHandler, addPickerIconClickHandler, addShowContextMenuHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, addValueIconClickHandler, applyFormula, asSGWTComponent, blurItem, canEditCriterion, checkFormItemType, clearErrors, clearValue, disable, disableIcon, enable, enableIcon, error, error, errorIfNotCreated, focusAfterItem, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getAlwaysShowControlBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getAutoCompleteKeywords, getBrowserInputType, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanHover, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDefaultOperator, getDestroyed, getDisabled, getDisabledHover, getDisableIconsOnReadOnly, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconProperties, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getExportFormat, getExtraControlTableCSS, getExtraTextBoxCSS, getFetchMissingValues, getFieldName, getFilterLocally, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFormula, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, getHeight, getHeightAsString, getHidden, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHeightAsString, getHoverOpacity, getHoverPersist, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWidthAsString, getIcon, getIconBaseStyle, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIcons, getIconTabPosition, getIconVAlign, getIconWidth, getID, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getInputFormat, getLeft, getLinearColSpan, getLinearColSpanAsString, getLinearEndRow, getLinearEndRowAsString, getLinearStartRow, getLinearStartRowAsString, getLinearWidth, getLinearWidthAsString, getListGrid, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultipleValueSeparator, getName, getNullOriginalValueText, getOperator, getOptionDataSourceAsString, getOptionTextMatchStyle, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPaletteDefaults, getPicker, getPickerIcon, getPickerIcon, getPickerIconHeight, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconTabPosition, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintReadOnlyTextBoxStyle, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyCanSelectText, getReadOnlyControlStyle, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredWhen, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowDisabledIconsOnFocus, getShowDisabledPickerIconOnFocus, getShowErrorIcon, getShowErrorIconInline, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowIconsOnFocus, getShowImageAsURL, getShowOldValueInHover, getShowOver, getShowOverIcons, getShowPending, getShowPickerIcon, getShowPickerIconOnFocus, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, getStoreDisplayValues, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextAlign, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getUpdateControlOnOver, getUpdatePickerIconOnOver, getUpdateTextBoxOnOver, getUseAdvancedCriteria, getUseDisabledHintStyleForReadOnly, getUseLocalDisplayFieldValue, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsFloat, getValueAsInteger, getValueAsLong, getValueAsRecordList, getValueDeselectedCSSText, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getValueMap, getValueMapAsArray, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapHintText, getWrapStaticValue, getWrapTitle, handleWarnOnEditorTypeConversion, hasAdvancedCriteria, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isAssignableFrom, isConfigOnly, isCreated, isCutEvent, isDisabled, isDrawn, isFocused, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, removeIcon, selectedRecordChanged, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setAlwaysShowControlBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoComplete, setAutoCompleteKeywords, setBrowserInputType, setBrowserSpellCheck, setCanEdit, setCanEditCriterionPredicate, setCanEditOpaqueValues, setCanFocus, setCanHover, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setConfigOnly, setControlStyle, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setCustomStateGetter, setDataPath, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultOperator, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisabledHover, setDisableIconsOnReadOnly, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconProperties, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setExportFormat, setExtraControlTableCSS, setExtraTextBoxCSS, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, setHeight, setHeight, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverHeight, setHoverOpacity, setHoverPersist, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWidth, setIconBaseStyle, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconShowOnFocus, setIconVAlign, setIconWidth, setID, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLinearColSpan, setLinearColSpan, setLinearEndRow, setLinearEndRow, setLinearStartRow, setLinearStartRow, setLinearWidth, setLinearWidth, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultipleValueSeparator, setName, setNullOriginalValueText, setNullProperty, setOperator, setOptionDataSource, setOptionFilterContext, setOptionTextMatchStyle, setOriginalValueMessage, setPickerIconHeight, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintReadOnlyTextBoxStyle, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyCanSelectText, setReadOnlyControlStyle, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredWhen, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowDisabledIconsOnFocus, setShowDisabledPickerIconOnFocus, setShowErrorIcon, setShowErrorIconInline, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIconsOnFocus, setShowIfCondition, setShowImageAsURL, setShowOldValueInHover, setShowOver, setShowOverIcons, setShowPending, setShowPickerIcon, setShowPickerIconOnFocus, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setStoreDisplayValues, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextAlign, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setUpdateControlOnOver, setUpdatePickerIconOnOver, setUpdateTextBoxOnOver, setUseAdvancedCriteria, setUseDisabledHintStyleForReadOnly, setUseLocalDisplayFieldValue, setUseObjectFactoryForTypeFallback, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setVisibleWhen, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapHintText, setWrapStaticValue, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, storeValue, updateState, validate, valueClipped`

  ### Methods inherited from class com.smartgwt.client.data.Field

  `getCanExport, getExportTitle, getPrimaryKey, getSortByField, setCanExport, setExportTitle, setPrimaryKey, setSortByField`

  ### Methods inherited from class com.smartgwt.client.core.RefDataClass

  `getRef, getRef, internalSetID`

  ### Methods inherited from class com.smartgwt.client.core.DataClass

  `applyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

  ### Methods inherited from class com.smartgwt.client.core.JsObject

  `equals, getJsObj, hashCode, setJsObj`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

  `fireEvent`

- ## Constructor Details

  - ### MultiPickerItem

    public MultiPickerItem()

  - ### MultiPickerItem

    public MultiPickerItem(JavaScriptObject jsObj)

  - ### MultiPickerItem

    public MultiPickerItem(String name)

- ## Method Details

  - ### getOrCreateRef

    public static MultiPickerItem getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
    Changes the defaults for Canvas AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
    Changes the defaults for FormItem AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changePickerIconDefaults

    public static void changePickerIconDefaults(FormItemIcon defaults)

  - ### setCanExpand

    public MultiPickerItem setCanExpand(Boolean canExpand)
    Should we show an `expansionIcon` expand button allowing the user to show an expanded view of the `pickList` with multiple fields.

    `canExpand` only applies to MultiPickerItems with selectionStyle set to "pickList" or "pickTree" and an explicitly specified set of `expandedPickListFields` to display within the expanded view.

    Parameters:
      `canExpand` - New canExpand value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getCanExpand

    public Boolean getCanExpand()
    Should we show an `expansionIcon` expand button allowing the user to show an expanded view of the `pickList` with multiple fields.

    `canExpand` only applies to MultiPickerItems with selectionStyle set to "pickList" or "pickTree" and an explicitly specified set of `expandedPickListFields` to display within the expanded view.

    Returns:
      Current canExpand value. Default value is true

  - ### setCanSelectFolders

    public MultiPickerItem setCanSelectFolders(Boolean canSelectFolders)
    For multiPickerItems with `selectionStyle:"pickTree"`, should the user be able to select and deselect folders?

    If false, selection checkboxes will only be visible by leaf nodes within the pickTree data set.

    Note that this flag may be set to true in conjunction with `includeSelectedParents:false`. In this case the user may check and uncheck parent nodes as a convenient way to select or unselect all their children due to `cascading selection`, but the parent nodes themselves won't be present in the item's value.

    Parameters:
      `canSelectFolders` - New canSelectFolders value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getCanSelectFolders

    public Boolean getCanSelectFolders()
    For multiPickerItems with `selectionStyle:"pickTree"`, should the user be able to select and deselect folders?

    If false, selection checkboxes will only be visible by leaf nodes within the pickTree data set.

    Note that this flag may be set to true in conjunction with `includeSelectedParents:false`. In this case the user may check and uncheck parent nodes as a convenient way to select or unselect all their children due to `cascading selection`, but the parent nodes themselves won't be present in the item's value.

    Returns:
      Current canSelectFolders value. Default value is true

  - ### setCascadeSelection

    public MultiPickerItem setCascadeSelection(Boolean cascadeSelection)
    For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should `TreeGrid.cascadeSelection` be enabled on our pickTree?
    Parameters:
      `cascadeSelection` - New cascadeSelection value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getCascadeSelection

    public Boolean getCascadeSelection()
    For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should `TreeGrid.cascadeSelection` be enabled on our pickTree?
    Returns:
      Current cascadeSelection value. Default value is true

  - ### setCollapseIconSrc

    public MultiPickerItem setCollapseIconSrc(String collapseIconSrc)
    `SCImgURL` for the `expansionIcon` while in expanded mode
    Parameters:
      `collapseIconSrc` - New collapseIconSrc value. Default value is "[SKINIMG]/actions/collapse_left.png"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getCollapseIconSrc

    public String getCollapseIconSrc()
    `SCImgURL` for the `expansionIcon` while in expanded mode
    Returns:
      Current collapseIconSrc value. Default value is "[SKINIMG]/actions/collapse_left.png"

  - ### setDeriveUniqueValues

    public MultiPickerItem setDeriveUniqueValues(Boolean deriveUniqueValues)
    If this MultiPickerItem is deriving its options from a dataSource, should it ensure unique field values by `grouping by` the value field for this item? This is not necessary if the target dataSource value field is already unique - for example if this is the primaryKey field for a dataSource.

    Note that for MultiPickerItems with `deriveUniqueValues:true`, any `expandedPickListFields` to be displayed in the `expanded view` will not be able to display meaningful values unless a `summaryFunction` is supplied to produce aggregated values from the grouped data. This may be achieved by specifying summaryFunctions directly on the `optionFilterContext`, or on the `operationBinding` for the `fetch operation`.

    Note : This is an advanced setting

    Parameters:
      `deriveUniqueValues` - New deriveUniqueValues value. Default value is false
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getDeriveUniqueValues

    public Boolean getDeriveUniqueValues()
    If this MultiPickerItem is deriving its options from a dataSource, should it ensure unique field values by `grouping by` the value field for this item? This is not necessary if the target dataSource value field is already unique - for example if this is the primaryKey field for a dataSource.

    Note that for MultiPickerItems with `deriveUniqueValues:true`, any `expandedPickListFields` to be displayed in the `expanded view` will not be able to display meaningful values unless a `summaryFunction` is supplied to produce aggregated values from the grouped data. This may be achieved by specifying summaryFunctions directly on the `optionFilterContext`, or on the `operationBinding` for the `fetch operation`.

    Returns:
      Current deriveUniqueValues value. Default value is false

  - ### getDeselectAllButton

    public ToolStripButton getDeselectAllButton()
    Clear All button `com.smartgwt.client.types.AutoChild`

    This component is an AutoChild named "deselectAllButton". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current deselectAllButton value. Default value is null

  - ### setDeselectAllButtonTitle

    public MultiPickerItem setDeselectAllButtonTitle(String deselectAllButtonTitle)
    Title for the `deselectAllButton`
    Parameters:
      `deselectAllButtonTitle` - New deselectAllButtonTitle value. Default value is "Clear All"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getDeselectAllButtonTitle

    public String getDeselectAllButtonTitle()
    Title for the `deselectAllButton`
    Returns:
      Current deselectAllButtonTitle value. Default value is "Clear All"

  - ### setDeselectAllWhileFiltered_disabledPrompt

    public MultiPickerItem setDeselectAllWhileFiltered_disabledPrompt(String deselectAllWhileFiltered_disabledPrompt)
    Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
    Parameters:
      `deselectAllWhileFiltered_disabledPrompt` - New deselectAllWhileFiltered_disabledPrompt value. Default value is "Clear All disabled while filtered"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getDeselectAllWhileFiltered_disabledPrompt

    public String getDeselectAllWhileFiltered_disabledPrompt()
    Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
    Returns:
      Current deselectAllWhileFiltered_disabledPrompt value. Default value is "Clear All disabled while filtered"

  - ### setDeselectAllWhileFiltered_partialCachePrompt

    public MultiPickerItem setDeselectAllWhileFiltered_partialCachePrompt(String deselectAllWhileFiltered_partialCachePrompt)
    Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
    Parameters:
      `deselectAllWhileFiltered_partialCachePrompt` - New deselectAllWhileFiltered_partialCachePrompt value. Default value is "Unable to Clear All as the full set of options has not been fetched from the server."
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getDeselectAllWhileFiltered_partialCachePrompt

    public String getDeselectAllWhileFiltered_partialCachePrompt()
    Disabled prompt for the `deselectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
    Returns:
      Current deselectAllWhileFiltered_partialCachePrompt value. Default value is "Unable to Clear All as the full set of options has not been fetched from the server."

  - ### setDisplayField

    public MultiPickerItem setDisplayField(String displayField)
    If set, this item will display a value from another field to the user instead of showing the underlying data value for the `field name`.

    This property is used 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).

    If this field has an `FormItem.optionDataSource`, this property is used by default to identify which value to use as a display value in records from this related dataSource. In this usage the specified displayField must be explicitly defined in the optionDataSource to be used - see `getDisplayFieldName()` for more on this behavior.
    If not using `local display values`, the display value for this item will be derived by performing a fetch against the `option dataSource` to find a record where the `value field` matches this item's value, and use the `displayField` value from that record.
    In addition to this, PickList-based form items that provide a list of possible options such as the `SelectItem` or `ComboBoxItem` will show the `displayField` values to the user by default, allowing them to choose a new data value (see `FormItem.valueField`) from a list of user-friendly display values.

    This essentially allows the specified `optionDataSource` to be used as a server based `valueMap`.

    If `local display values` are being used and `FormItem.storeDisplayValues` is true, selecting a new value will update both the value for this field and the associated display-field value on the record being edited.

    Note: Developers may specify the `FormItem.foreignDisplayField` property in addition to `displayField`. This is useful for cases where the display field name in the local dataSource differs from the display field name in the optionDataSource. See the documentation for `DataSourceField.foreignDisplayField` for more on this.
    If a foreignDisplayField is specified, as with just displayField, if `local display values` are being used and `FormItem.storeDisplayValues` is true, when the user chooses a value the associated display-field value on the record being edited will be updated. In this case it would be set to the foreignDisplayField value from the related record. This means foreignDisplayField is always expected to be set to the equivalent field in the related dataSources.
    Developers looking to display some other arbitrary field(s) from the related dataSource during editing should consider using custom PickList.pickListFields instead of setting a foreignDisplayField.

    Note that if `optionDataSource` is set and no valid display field is specified, `FormItem.getDisplayFieldName()` will return the dataSource title field by default.

    If a displayField is specified for a freeform text based item (such as a `ComboBoxItem`), any user-entered value will be treated as a display value. In this scenario, items will derive the data value for the item from the first record where the displayField value matches the user-entered value. To avoid ambiguity, developers may wish to avoid this usage if display values are not unique.

    Overrides:
      `setDisplayField` in class `FormItem`
    Parameters:
      `displayField` - New displayField value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls
    See Also:
      - `FormItem.getDisplayFieldName()`
      - `FormItem.invalidateDisplayValueCache()`
      - `DataBinding`

  - ### getDisplayField

    public 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`.

    This property is used 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).

    If this field has an `FormItem.optionDataSource`, this property is used by default to identify which value to use as a display value in records from this related dataSource. In this usage the specified displayField must be explicitly defined in the optionDataSource to be used - see `getDisplayFieldName()` for more on this behavior.
    If not using `local display values`, the display value for this item will be derived by performing a fetch against the `option dataSource` to find a record where the `value field` matches this item's value, and use the `displayField` value from that record.
    In addition to this, PickList-based form items that provide a list of possible options such as the `SelectItem` or `ComboBoxItem` will show the `displayField` values to the user by default, allowing them to choose a new data value (see `FormItem.valueField`) from a list of user-friendly display values.

    This essentially allows the specified `optionDataSource` to be used as a server based `valueMap`.

    If `local display values` are being used and `FormItem.storeDisplayValues` is true, selecting a new value will update both the value for this field and the associated display-field value on the record being edited.

    Note: Developers may specify the `FormItem.foreignDisplayField` property in addition to `displayField`. This is useful for cases where the display field name in the local dataSource differs from the display field name in the optionDataSource. See the documentation for `DataSourceField.foreignDisplayField` for more on this.
    If a foreignDisplayField is specified, as with just displayField, if `local display values` are being used and `FormItem.storeDisplayValues` is true, when the user chooses a value the associated display-field value on the record being edited will be updated. In this case it would be set to the foreignDisplayField value from the related record. This means foreignDisplayField is always expected to be set to the equivalent field in the related dataSources.
    Developers looking to display some other arbitrary field(s) from the related dataSource during editing should consider using custom PickList.pickListFields instead of setting a foreignDisplayField.

    Note that if `optionDataSource` is set and no valid display field is specified, `FormItem.getDisplayFieldName()` will return the dataSource title field by default.

    If a displayField is specified for a freeform text based item (such as a `ComboBoxItem`), any user-entered value will be treated as a display value. In this scenario, items will derive the data value for the item from the first record where the displayField value matches the user-entered value. To avoid ambiguity, developers may wish to avoid this usage if display values are not unique.

    Overrides:
      `getDisplayField` in class `FormItem`
    Returns:
      Current displayField value. Default value is null
    See Also:
      - `FormItem.getDisplayFieldName()`
      - `FormItem.invalidateDisplayValueCache()`
      - `DataBinding`

  - ### setExpandedPickListFields

    public MultiPickerItem setExpandedPickListFields(ListGridField... expandedPickListFields)
    If `canExpand` is true, this is the list of fields to display in the PickList or `pickTree` when the picker is expanded
    Parameters:
      `expandedPickListFields` - New expandedPickListFields value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getExpandedPickListFields

    public ListGridField[] getExpandedPickListFields()
    If `canExpand` is true, this is the list of fields to display in the PickList or `pickTree` when the picker is expanded
    Returns:
      Current expandedPickListFields value. Default value is null

  - ### setExpandIconSrc

    public MultiPickerItem setExpandIconSrc(String expandIconSrc)
    `SCImgURL` for the `expansionIcon` while not in expanded mode
    Parameters:
      `expandIconSrc` - New expandIconSrc value. Default value is "[SKINIMG]/actions/expand_right.png"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getExpandIconSrc

    public String getExpandIconSrc()
    `SCImgURL` for the `expansionIcon` while not in expanded mode
    Returns:
      Current expandIconSrc value. Default value is "[SKINIMG]/actions/expand_right.png"

  - ### setExpansionHeight

    public MultiPickerItem setExpansionHeight(Integer expansionHeight)
    Height for the `pickerLayout` in expanded mode when `canExpand` is true
    Parameters:
      `expansionHeight` - New expansionHeight value. Default value is 500
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getExpansionHeight

    public Integer getExpansionHeight()
    Height for the `pickerLayout` in expanded mode when `canExpand` is true
    Returns:
      Current expansionHeight value. Default value is 500

  - ### getExpansionIcon

    public ToolStripButton getExpansionIcon()
    Automatically generated expand / collapse icon when `canExpand` is true

    This component is an AutoChild named "expansionIcon". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current expansionIcon value. Default value is null

  - ### setExpansionWidth

    public MultiPickerItem setExpansionWidth(Integer expansionWidth)
    Width for the `pickerLayout` in expanded mode when `canExpand` is true
    Parameters:
      `expansionWidth` - New expansionWidth value. Default value is 500
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getExpansionWidth

    public Integer getExpansionWidth()
    Width for the `pickerLayout` in expanded mode when `canExpand` is true
    Returns:
      Current expansionWidth value. Default value is 500

  - ### getFilterForm

    public DynamicForm getFilterForm()
    Dynamic form showing a single text item for filtering the PickList while `SelectionStyle` is "pickList".

    May be hidden by setting `showFilterForm` to false.

    If `canExpand` is true, the filter form will not be displayed in the expanded view, as it would be unclear to the user which of the expanded fields would be filtered by it.

    Instead if `showFilterForm` is true, the pickList will show the `filterEditor` by default, allowing the user to filter by `field`

    Instead of the filterForm, developers may display the standard filterEditor for the pickList in non-expanded view via `pickList autoChild properties`. If you do this the filterForm will not be displayed even if`showFilterForm` is true.

    This component is an AutoChild named "filterForm". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current filterForm value. Default value is null

  - ### setFilterHint

    public MultiPickerItem setFilterHint(String filterHint)
    `Hint` for the `filterForm` text item.

    This will be shown inside the field via `TextItem.showHintInField`

    Parameters:
      `filterHint` - New filterHint value. Default value is "Filter"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getFilterHint

    public String getFilterHint()
    `Hint` for the `filterForm` text item.

    This will be shown inside the field via `TextItem.showHintInField`

    Returns:
      Current filterHint value. Default value is "Filter"

  - ### getFilterIcon

    public FormItemIcon getFilterIcon()
    Automatically generated right-aligned inline filter indicator icon for the `filterForm` text box.

    This icon may be customized using the standard AutoChild pattern as well as via `filterIconSrc`, `filterIconWidth`, `filterIconHeight`

    This component is an AutoChild named "filterIcon". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current filterIcon value. Default value is null

  - ### setFilterIconHeight

    public MultiPickerItem setFilterIconHeight(Integer filterIconHeight)
    `height` for the `filterIcon`
    Parameters:
      `filterIconHeight` - New filterIconHeight value. Default value is 16
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getFilterIconHeight

    public Integer getFilterIconHeight()
    `height` for the `filterIcon`
    Returns:
      Current filterIconHeight value. Default value is 16

  - ### setFilterIconSrc

    public MultiPickerItem setFilterIconSrc(String filterIconSrc)
    `src` for the `filterIcon`
    Parameters:
      `filterIconSrc` - New filterIconSrc value. Default value is "[SKINIMG]actions/view.png"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getFilterIconSrc

    public String getFilterIconSrc()
    `src` for the `filterIcon`
    Returns:
      Current filterIconSrc value. Default value is "[SKINIMG]actions/view.png"

  - ### setFilterIconWidth

    public MultiPickerItem setFilterIconWidth(Integer filterIconWidth)
    `width` for the `filterIcon`
    Parameters:
      `filterIconWidth` - New filterIconWidth value. Default value is 16
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getFilterIconWidth

    public Integer getFilterIconWidth()
    `width` for the `filterIcon`
    Returns:
      Current filterIconWidth value. Default value is 16

  - ### setFilterPickListOnKeypress

    public MultiPickerItem setFilterPickListOnKeypress(boolean filterPickListOnKeypress)
    Should `filterOnKeypress` be active for the pickList?

    This behavior applies to filter values entered in the `filterForm` as well as the the standard filterEditor for the picklist in `expanded view`.

    Parameters:
      `filterPickListOnKeypress` - New filterPickListOnKeypress value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getFilterPickListOnKeypress

    public boolean getFilterPickListOnKeypress()
    Should `filterOnKeypress` be active for the pickList?

    This behavior applies to filter values entered in the `filterForm` as well as the the standard filterEditor for the picklist in `expanded view`.

    Returns:
      Current filterPickListOnKeypress value. Default value is true

  - ### setIncludeSelectedParents

    public MultiPickerItem setIncludeSelectedParents(Boolean includeSelectedParents)
    For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should selected parent nodes be included in the item's value?

    When `cascading selection` is enabled for a tree, the selected state of parent nodes always reflects the selected state of their children, and it may not be necessary or desirable to explicitly record the parents' selected state in the item's value.

    Some specific use cases where this is the case might include:

    - Creating filter criteria for a target TreeGrid where `TreeGrid.keepParentsOnFilter` is true. In this case filter criteria would not need to include selected parent nodes for the children to be visible in the target tree.
    - Trees where leaves are of a different logical type than their parents. If a tree structure is being used to categorize data, `cascading selection` may be useful to allow the user to easily select all items within a category but application code may not want to include the categories as part of a MultiPickerItem's value

    This property only applies when `cascadeSelection` is true. If cascadeSelection is false, all selected nodes will be present in the items value regardless of their parent/child relationships.

    Parameters:
      `includeSelectedParents` - New includeSelectedParents value. Default value is false
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getIncludeSelectedParents

    public Boolean getIncludeSelectedParents()
    For multiPickerItems with `selectionStyle:"pickTree"`, and `canSelectFolders:true`, should selected parent nodes be included in the item's value?

    When `cascading selection` is enabled for a tree, the selected state of parent nodes always reflects the selected state of their children, and it may not be necessary or desirable to explicitly record the parents' selected state in the item's value.

    Some specific use cases where this is the case might include:

    - Creating filter criteria for a target TreeGrid where `TreeGrid.keepParentsOnFilter` is true. In this case filter criteria would not need to include selected parent nodes for the children to be visible in the target tree.
    - Trees where leaves are of a different logical type than their parents. If a tree structure is being used to categorize data, `cascading selection` may be useful to allow the user to easily select all items within a category but application code may not want to include the categories as part of a MultiPickerItem's value

    This property only applies when `cascadeSelection` is true. If cascadeSelection is false, all selected nodes will be present in the items value regardless of their parent/child relationships.

    Returns:
      Current includeSelectedParents value. Default value is false

  - ### setInitialSort

    public MultiPickerItem setInitialSort(SortSpecifier... initialSort)
    `Initial sort specifiers` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Parameters:
      `initialSort` - New initialSort value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getInitialSort

    public SortSpecifier[] getInitialSort()
    `Initial sort specifiers` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Returns:
      Current initialSort value. Default value is null

  - ### setMultiple

    public MultiPickerItem setMultiple(Boolean multiple)
    MultiPickerItems always work with array values
    Overrides:
      `setMultiple` in class `FormItem`
    Parameters:
      `multiple` - New multiple value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls
    See Also:
      - `Appearance overview and related methods`

  - ### getMultiple

    public Boolean getMultiple()
    MultiPickerItems always work with array values
    Overrides:
      `getMultiple` in class `FormItem`
    Returns:
      Current multiple value. Default value is true
    See Also:
      - `Appearance overview and related methods`

  - ### setOptionDataSource

    public MultiPickerItem setOptionDataSource(DataSource optionDataSource)
    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.

    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 `FormItem.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 `FormItem.displayField` is specified for a FormItem and `optionDataSource` is unset, `optionDataSource` will default to the form's current DataSource

    Overrides:
      `setOptionDataSource` in class `FormItem`
    Parameters:
      `optionDataSource` - New optionDataSource value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls
    See Also:
      - `FormItem.invalidateDisplayValueCache()`
      - List - Combo Box Example

  - ### getOptionDataSource

    public 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.

    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 `FormItem.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 `FormItem.displayField` is specified for a FormItem and `optionDataSource` is unset, `optionDataSource` will default to the form's current DataSource

    Overrides:
      `getOptionDataSource` in class `FormItem`
    Returns:
      Current optionDataSource value. Default value is null
    See Also:
      - `FormItem.invalidateDisplayValueCache()`
      - List - Combo Box Example

  - ### setOptionFilterContext

    public MultiPickerItem setOptionFilterContext(DSRequest optionFilterContext)
    If this item has a specified `optionDataSource`, and this property is not null, the context is passed to the dataSource as `RPCRequest` properties when performing fetch operations on the dataSource to obtain a data-value to display-value mapping, and when fetching for grid-based pickers.

    This attribute is a direct shortcut for setting fetch-request properties via `item.pickerProperties.dataProperties.requestProperties`.

    Parameters:
      `optionFilterContext` - New optionFilterContext value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getOptionFilterContext

    public DSRequest getOptionFilterContext()
    If this item has a specified `optionDataSource`, and this property is not null, the context is passed to the dataSource as `RPCRequest` properties when performing fetch operations on the dataSource to obtain a data-value to display-value mapping, and when fetching for grid-based pickers.

    This attribute is a direct shortcut for setting fetch-request properties via `item.pickerProperties.dataProperties.requestProperties`.

    Overrides:
      `getOptionFilterContext` in class `FormItem`
    Returns:
      Current optionFilterContext value. Default value is null

  - ### setOptionOperationId

    public MultiPickerItem setOptionOperationId(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.
    Overrides:
      `setOptionOperationId` in class `FormItem`
    Parameters:
      `optionOperationId` - New optionOperationId value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls
    See Also:
      - `DataBinding`

  - ### getOptionOperationId

    public 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.
    Overrides:
      `getOptionOperationId` in class `FormItem`
    Returns:
      Current optionOperationId value. Default value is null
    See Also:
      - `DataBinding`

  - ### getPickerLayout

    public VLayout getPickerLayout()
    Main dropdown picker layout containing the PickList or `Shuttle`.

    This component is an AutoChild named "pickerLayout". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current pickerLayout value. Default value is null

  - ### getPickerToolbar

    public HLayout getPickerToolbar()
    Toolbar autoChild containing the `selectAllButton`, `deselectAllButton` and `expansionIcon`.

    Shown within the `pickerLayout` if `SelectionStyle` is `"pickList"`

    This component is an AutoChild named "pickerToolbar". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current pickerToolbar value. Default value is null

  - ### getPickList

    public ListGrid getPickList()
    The MultiPickerItem `pickList` is a filterable ListGrid `com.smartgwt.client.types.AutoChild` for viewing and selecting the list of available options when `SelectionStyle` is `"pickList"`.

    It is rendered inside the `pickerLayout` along with the optional `selectionList`

    This component is an AutoChild named "pickList". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current pickList value. Default value is null

  - ### setPickListFetchDelay

    public MultiPickerItem setPickListFetchDelay(Integer pickListFetchDelay)
    If `filterPickListOnKeypress` is true, how long to wait in ms after the last keystroke from a user before filtering the pickList.

    If not explicitly specified, the default fetchDelay will be derived from `the pickList fetchDelay`.

    Parameters:
      `pickListFetchDelay` - New pickListFetchDelay value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getPickListFetchDelay

    public Integer getPickListFetchDelay()
    If `filterPickListOnKeypress` is true, how long to wait in ms after the last keystroke from a user before filtering the pickList.

    If not explicitly specified, the default fetchDelay will be derived from `the pickList fetchDelay`.

    Returns:
      Current pickListFetchDelay value. Default value is null

  - ### setPickListFields

    public MultiPickerItem setPickListFields(ListGridField... pickListFields)
    Optional list of fields for the `pickList`. This property may be used to customize the appearance of the field / fields in the pickList.

    If not explicitly specified, pick list fields will be generated automatically to show the display field (or value field if there is no display field) for each option.

    Note that if `canExpand` is true, developers should use `expandedPickListFields` to specify the set of fields to display in the expanded view.

    Parameters:
      `pickListFields` - New pickListFields value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getPickListFields

    public ListGridField[] getPickListFields()
    Optional list of fields for the `pickList`. This property may be used to customize the appearance of the field / fields in the pickList.

    If not explicitly specified, pick list fields will be generated automatically to show the display field (or value field if there is no display field) for each option.

    Note that if `canExpand` is true, developers should use `expandedPickListFields` to specify the set of fields to display in the expanded view.

    Returns:
      Current pickListFields value. Default value is null

  - ### setPickListHeight

    public MultiPickerItem setPickListHeight(Integer pickListHeight)
    Default height for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
    Parameters:
      `pickListHeight` - New pickListHeight value. Default value is 400
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getPickListHeight

    public Integer getPickListHeight()
    Default height for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
    Returns:
      Current pickListHeight value. Default value is 400

  - ### setPickListWidth

    public MultiPickerItem setPickListWidth(Integer pickListWidth)
    Default width for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
    Parameters:
      `pickListWidth` - New pickListWidth value. Default value is 250
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getPickListWidth

    public Integer getPickListWidth()
    Default width for the `pickerLayout` when `SelectionStyle` is `"pickList"`.
    Returns:
      Current pickListWidth value. Default value is 250

  - ### getPickTree

    public TreeGrid getPickTree()
    The MultiPickerItem `pickTree` is a TreeGrid `com.smartgwt.client.types.AutoChild` for viewing and selecting a tree of available options when `SelectionStyle` is `"pickTree"`.

    It is rendered inside the `pickerLayout` along with the optional `selectionList`

    This component is an AutoChild named "pickTree". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current pickTree value. Default value is null

  - ### getSelectAllButton

    public ToolStripButton getSelectAllButton()
    Select All button `com.smartgwt.client.types.AutoChild`

    This component is an AutoChild named "selectAllButton". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current selectAllButton value. Default value is null

  - ### setSelectAllButtonTitle

    public MultiPickerItem setSelectAllButtonTitle(String selectAllButtonTitle)
    Title for the `selectAllButton`
    Parameters:
      `selectAllButtonTitle` - New selectAllButtonTitle value. Default value is "Select All"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSelectAllButtonTitle

    public String getSelectAllButtonTitle()
    Title for the `selectAllButton`
    Returns:
      Current selectAllButtonTitle value. Default value is "Select All"

  - ### setSelectAllWhileFiltered

    public MultiPickerItem setSelectAllWhileFiltered(FilteredSelectAllAction selectAllWhileFiltered)
    If the user has filtered the set of options available in this item, how should the "Select All" and "Clear All" buttons work?

    Note : This is an advanced setting

    Parameters:
      `selectAllWhileFiltered` - New selectAllWhileFiltered value. Default value is "whenLoaded"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSelectAllWhileFiltered

    public FilteredSelectAllAction getSelectAllWhileFiltered()
    If the user has filtered the set of options available in this item, how should the "Select All" and "Clear All" buttons work?
    Returns:
      Current selectAllWhileFiltered value. Default value is "whenLoaded"

  - ### setSelectAllWhileFiltered_disabledPrompt

    public MultiPickerItem setSelectAllWhileFiltered_disabledPrompt(String selectAllWhileFiltered_disabledPrompt)
    Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
    Parameters:
      `selectAllWhileFiltered_disabledPrompt` - New selectAllWhileFiltered_disabledPrompt value. Default value is "Select All disabled while filtered"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSelectAllWhileFiltered_disabledPrompt

    public String getSelectAllWhileFiltered_disabledPrompt()
    Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"disable"`.
    Returns:
      Current selectAllWhileFiltered_disabledPrompt value. Default value is "Select All disabled while filtered"

  - ### setSelectAllWhileFiltered_partialCachePrompt

    public MultiPickerItem setSelectAllWhileFiltered_partialCachePrompt(String selectAllWhileFiltered_partialCachePrompt)
    Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
    Parameters:
      `selectAllWhileFiltered_partialCachePrompt` - New selectAllWhileFiltered_partialCachePrompt value. Default value is "Unable to Select All as the full set of options has not been fetched from the server."
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSelectAllWhileFiltered_partialCachePrompt

    public String getSelectAllWhileFiltered_partialCachePrompt()
    Disabled prompt for the `selectAllButton` while filtered if `selectAllWhileFiltered` is set to `"whenLoaded"` and the PickList does not have a complete data set loaded on the client.
    Returns:
      Current selectAllWhileFiltered_partialCachePrompt value. Default value is "Unable to Select All as the full set of options has not been fetched from the server."

  - ### setSelectedSelectionListTitle

    public MultiPickerItem setSelectedSelectionListTitle(String selectedSelectionListTitle)
    Default title for the `selectionList`.
    Parameters:
      `selectedSelectionListTitle` - New selectedSelectionListTitle value. Default value is "Included Items"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSelectedSelectionListTitle

    public String getSelectedSelectionListTitle()
    Default title for the `selectionList`.
    Returns:
      Current selectedSelectionListTitle value. Default value is "Included Items"

  - ### getSelectionList

    public ListGrid getSelectionList()
    Automatically generated ListGrid displaying the current selection for `selectionStyle:"pickList"`.

    Has `canRemoveRecords` enabled as an alternative UI for deselecting records to unchecking the item in the PickList.

    This component is an AutoChild named "selectionList". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current selectionList value. Default value is null

  - ### getSelectionListLabel

    public Label getSelectionListLabel()
    AutoChild to show the `selectedSelectionListTitle`

    This component is an AutoChild named "selectionListLabel". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current selectionListLabel value. Default value is null

  - ### setSelectionStyle

    public MultiPickerItem setSelectionStyle(MultiPickerSelectionStyle selectionStyle)
    Should the MultiPickerItem use a `Shuttle` style interface to indicate the currently selected / unselected values?

    Note : This is an advanced setting

    Parameters:
      `selectionStyle` - New selectionStyle value. Default value is "pickList"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSelectionStyle

    public MultiPickerSelectionStyle getSelectionStyle()
    Should the MultiPickerItem use a `Shuttle` style interface to indicate the currently selected / unselected values?
    Returns:
      Current selectionStyle value. Default value is "pickList"

  - ### setShowFilterForm

    public MultiPickerItem setShowFilterForm(boolean showFilterForm)
    Should the `filterForm` be shown?

    This only applies to selectionStyle "pickList".

    Parameters:
      `showFilterForm` - New showFilterForm value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getShowFilterForm

    public boolean getShowFilterForm()
    Should the `filterForm` be shown?

    This only applies to selectionStyle "pickList".

    Returns:
      Current showFilterForm value. Default value is true

  - ### setShowSelectionLabel

    public MultiPickerItem setShowSelectionLabel(Boolean showSelectionLabel)
    Should we show a `selectionListLabel` for the `selectedSelectionListTitle` above the `selectionList`.

    Will never be shown if `showSelectionList` is false or if selectionStyle is not "pickList".

    Parameters:
      `showSelectionLabel` - New showSelectionLabel value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getShowSelectionLabel

    public Boolean getShowSelectionLabel()
    Should we show a `selectionListLabel` for the `selectedSelectionListTitle` above the `selectionList`.

    Will never be shown if `showSelectionList` is false or if selectionStyle is not "pickList".

    Returns:
      Current showSelectionLabel value. Default value is true

  - ### setShowSelectionList

    public MultiPickerItem setShowSelectionList(Boolean showSelectionList)
    Should a `list of selected items` be displayed below the PickList if `SelectionStyle` is `"pickList"`?
    Parameters:
      `showSelectionList` - New showSelectionList value. Default value is true
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getShowSelectionList

    public Boolean getShowSelectionList()
    Should a `list of selected items` be displayed below the PickList if `SelectionStyle` is `"pickList"`?
    Returns:
      Current showSelectionList value. Default value is true

  - ### getShuttle

    public Shuttle getShuttle()
    AutoChild `Shuttle` shown in the `pickerLayout` when `SelectionStyle` is set to `"shuttle"`.

    This component is an AutoChild named "shuttle". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Returns:
      Current shuttle value. Default value is null

  - ### setShuttleHeight

    public MultiPickerItem setShuttleHeight(Integer shuttleHeight)
    Height for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
    Parameters:
      `shuttleHeight` - New shuttleHeight value. Default value is 400
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getShuttleHeight

    public Integer getShuttleHeight()
    Height for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
    Returns:
      Current shuttleHeight value. Default value is 400

  - ### setShuttleWidth

    public MultiPickerItem setShuttleWidth(Integer shuttleWidth)
    Width for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
    Parameters:
      `shuttleWidth` - New shuttleWidth value. Default value is 500
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getShuttleWidth

    public Integer getShuttleWidth()
    Width for the `pickerLayout` when `SelectionStyle` is `"shuttle"`.
    Returns:
      Current shuttleWidth value. Default value is 500

  - ### setSortDirection

    public MultiPickerItem setSortDirection(SortDirection sortDirection)
    `Sort direction` for this item's list of options. Will be applied to the +link{MultiPicke?rItem.pickList}, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Parameters:
      `sortDirection` - New sortDirection value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSortDirection

    public SortDirection getSortDirection()
    `Sort direction` for this item's list of options. Will be applied to the +link{MultiPicke?rItem.pickList}, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Returns:
      Current sortDirection value. Default value is null

  - ### setSortField

    public MultiPickerItem setSortField(String sortField)
    `Sort field` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Parameters:
      `sortField` - New sortField value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSortField

    public String getSortField()
    `Sort field` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Returns:
      Current sortField value. Default value is null

  - ### setSortField

    public MultiPickerItem setSortField(String... sortField)
    `Sort field` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Parameters:
      `sortField` - New sortField value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSortFieldAsStringArray

    public String[] getSortFieldAsStringArray()
    `Sort field` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Returns:
      Current sortField value. Default value is null

  - ### setSortField

    public MultiPickerItem setSortField(Integer sortField)
    `Sort field` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Parameters:
      `sortField` - New sortField value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getSortFieldAsInt

    public Integer getSortFieldAsInt()
    `Sort field` for this item's list of options. Will be applied to the `pickList`, `pickTree` or `shuttle` depending on the `selectionStyle` of this item.
    Returns:
      Current sortField value. Default value is null

  - ### setTextMatchStyle

    public MultiPickerItem setTextMatchStyle(TextMatchStyle textMatchStyle)
    textMatchStyle to apply to `option criteria` for this item
    Parameters:
      `textMatchStyle` - New textMatchStyle value. Default value is "substring"
    Returns:
      `MultiPickerItem` instance, for chaining setter calls

  - ### getTextMatchStyle

    public TextMatchStyle getTextMatchStyle()
    textMatchStyle to apply to `option criteria` for this item
    Returns:
      Current textMatchStyle value. Default value is "substring"

  - ### setValueField

    public MultiPickerItem setValueField(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()`.
    Overrides:
      `setValueField` in class `FormItem`
    Parameters:
      `valueField` - New valueField value. Default value is null
    Returns:
      `MultiPickerItem` instance, for chaining setter calls
    See Also:
      - `DataBinding`

  - ### getValueField

    public 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()`.
    Overrides:
      `getValueField` in class `FormItem`
    Returns:
      Getter method to retrieve the `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

    See Also:
      - `DataBinding`

  - ### getValueFieldName

    public String getValueFieldName()
    Getter method to retrieve the `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.

    Overrides:
      `getValueFieldName` in class `FormItem`
    Returns:
      fieldName to use a "value field" in records from this items `FormItem.optionDataSource`

  - ### setDefaultProperties

    public static void setDefaultProperties(MultiPickerItem multiPickerItemProperties)
    Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties of the class instance passed to this function. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

    Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

    Parameters:
      `multiPickerItemProperties` - properties that should be used as new defaults when instances of this class are created
    See Also:
      - `SGWTProperties`

  - ### setOptionCriteria

    public void setOptionCriteria(Criteria optionCriteria)
    If this MultiPickerItem is deriving its options from a dataSource, this property allows developers to specify criteria for the fetch.

    Note : This is an advanced setting

    Overrides:
      `setOptionCriteria` in class `FormItem`
    Parameters:
      `optionCriteria` - New optionCriteria value. Default value is null

  - ### getOptionCriteria

    public Criteria getOptionCriteria()
    If this MultiPickerItem is deriving its options from a dataSource, this property allows developers to specify criteria for the fetch.
    Overrides:
      `getOptionCriteria` in class `FormItem`
    Returns:
      Return the derived `optionCriteria` for this item. Default value is null