com.smartgwt.client.widgets.form.fields

## Class DateItem

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.core.RefDataClass
      - - com.smartgwt.client.widgets.form.fields.FormItem
        - - com.smartgwt.client.widgets.form.fields.DateItem

- All Implemented Interfaces:
    com.google.gwt.event.shared.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:
    DateTimeItem

      public class DateItem
      extends FormItem

  Item for manipulating Dates.

  Can be rendered as a text field, or as 3 selects for day, month, year. Includes optional pop-up picker.

- - ### 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

      `scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault`

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

      `id`

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

      `factoryCreated, factoryProperties, readOnly`

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

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DateItem()`
    `DateItem(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `DateItem(java.lang.String name)`
    `DateItem(java.lang.String name, java.lang.String title)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `deselectValue()` If `useTextField` is true, falls through to standard `deselectValue()` implementation on this items freeform text entry field.
    `void` | `deselectValue(java.lang.Boolean start)` If `useTextField` is true, falls through to standard `deselectValue()` implementation on this items freeform text entry field.
    `java.lang.String` | `getBrowserInputType()` If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.
    `int` | `getCenturyThreshold()` Only used if we're showing the date in a text field.
    `DateDisplayFormat` | `getDateFormatter()` If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item. Should be set to a standard `DateDisplayFormat`.
    `SelectItem` | `getDaySelector()` Select item to hold the day part of the date.
    `SelectItem` | `getDaySelectorProperties()` Custom properties to apply to this dateItem's generated `daySelector`.
    `java.util.Date` | `getDefaultChooserDate()` Default date to show in the date chooser.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `java.util.Date` | `getEndDate()` Maximum date the selectors will allow the user to pick.
    `java.lang.Boolean` | `getEnforceDate()` Can this field be set to a non-date value [other than null]?
    `java.lang.String` | `getEnteredValue()` Returns the raw text value typed into this items text field if `useTextField` is true (otherwise returns the result of this.getValue()).
    `FiscalCalendar` | `getFiscalCalendar()` Returns the `FiscalCalendar` object that will be used by this item's DateChooser.
    `java.lang.String` | `getInputFormat()` If `useTextField` is `true` this property can be used to specify the input format for date strings.
    `java.lang.String` | `getInvalidDateStringMessage()` Validation error message to display if the user enters an invalid date
    `SelectItem` | `getMonthSelector()` Select item to hold the month part of the date.
    `SelectItem` | `getMonthSelectorProperties()` Custom properties to apply to this dateItem's generated `monthSelector`.
    `static DateItem` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.String` | `getPickerIconPrompt()` Prompt to show when the user hovers the mouse over the picker icon for this DateItem.
    `DateChooser` | `getPickerProperties()` Properties for the `DateChooser` created by this form item.
    `TimeItem` | `getPickerTimeItemProperties()` A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.
    `int[]` | `getSelectionRange()` If `useTextField` is true, falls through to standard `com.smartgwt.client.widgets.form.fields.FormItem#getSelectionRange` implementation on this items freeform text entry field.
    `DateItemSelectorFormat` | `getSelectorFormat()` If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields.
    `java.lang.Boolean` | `getShowChooserFiscalYearPicker()` When set to true, show a button that allows the calendar to be navigated by fiscal year.
    `java.lang.Boolean` | `getShowChooserWeekPicker()` When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
    `java.lang.Boolean` | `getShowHintInField()` If `useTextField` is true and a `hint` is set, should the hint be shown within the field?
    `java.lang.Boolean` | `getShowPickerTimeItem()` If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?
    `java.util.Date` | `getStartDate()` Minimum date the selectors will allow the user to pick.
    `Alignment` | `getTextAlign()` If `useTextField` is `true` this property governs the alignment of text within the text field.
    `TextItem` | `getTextField()` Text field to hold the entire date in "type in" format, if `useTextField` is true.
    `TextItem` | `getTextFieldProperties()` Custom properties to apply to this dateItem's generated `textField`.
    `java.lang.Boolean` | `getUse24HourTime()` When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time.
    `boolean` | `getUsePlaceholderForHint()` If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.
    `java.lang.Boolean` | `getUseSharedPicker()` When set to true (the default), use a single shared date-picker across all widgets that use one.
    `java.lang.Boolean` | `getUseTextField()` Should we show the date in a text field, or as 3 select boxes?
    `java.util.Date` | `getValueAsDate()` Return the value tracked by this form item.
    `java.lang.Boolean` | `getWrapHintText()` If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.
    `SelectItem` | `getYearSelector()` Select item to hold the year part of the date.
    `SelectItem` | `getYearSelectorProperties()` Custom properties to apply to this dateItem's generated `yearSelector`.
    `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 date item should either clear or show its pending visual state.
    `void` | `selectValue()` If `useTextField` is true, falls through to standard `selectValue()` implementation on this items freeform text entry field.
    `void` | `setBrowserInputType(java.lang.String browserInputType)` If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.
    `void` | `setCenturyThreshold(int centuryThreshold)` Only used if we're showing the date in a text field.
    `void` | `setDateFormatter(DateDisplayFormat dateFormatter)` If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item. Should be set to a standard `DateDisplayFormat`.
    `void` | `setDaySelectorProperties(SelectItem daySelectorProperties)` Custom properties to apply to this dateItem's generated `daySelector`.
    `void` | `setDefaultChooserDate(java.util.Date defaultChooserDate)` Default date to show in the date chooser.
    `static void` | `setDefaultProperties(DateItem dateItemProperties)` Class level method to set the default properties of this class.
    `void` | `setEditorValueFormatter(FormItemValueFormatter formatter)` An optional `FormItemValueFormatter` to map this item's current data value to a display value.
    `void` | `setEditorValueParser(FormItemValueParser valueParser)` An optional `FormItemValueParser` to map a user-entered display value to a data value for storage.
    `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` | `setEndDate(java.util.Date endDate)` Maximum date the selectors will allow the user to pick.
    `void` | `setEnforceDate(java.lang.Boolean enforceDate)` Can this field be set to a non-date value [other than null]?
    `void` | `setFiscalCalendar()` Sets the `FiscalCalendar` object that will be used by this item's DateChooser.
    `void` | `setFiscalCalendar(FiscalCalendar fiscalCalendar)` Sets the `FiscalCalendar` object that will be used by this item's DateChooser.
    `void` | `setInputFormat(java.lang.String inputFormat)` If `useTextField` is `true` this property can be used to specify the input format for date strings.
    `void` | `setInvalidDateStringMessage(java.lang.String invalidDateStringMessage)` Validation error message to display if the user enters an invalid date
    `void` | `setMaskDateSeparator(java.lang.String maskDateSeparator)` If `useTextField` and `useMask` are both `true` this value is the separator between date components.
    `void` | `setMonthSelectorProperties(SelectItem monthSelectorProperties)` Custom properties to apply to this dateItem's generated `monthSelector`.
    `void` | `setPickerIconPrompt(java.lang.String pickerIconPrompt)` Prompt to show when the user hovers the mouse over the picker icon for this DateItem.
    `void` | `setPickerProperties(DateChooser pickerProperties)` Properties for the `DateChooser` created by this form item.
    `void` | `setPickerTimeItemProperties(TimeItem pickerTimeItemProperties)` A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.
    `void` | `setSelectionRange(int start, int end)` If `useTextField` is true, falls through to standard `setSelectionRange()` implementation on this items freeform text entry field.
    `void` | `setSelectorFormat(DateItemSelectorFormat selectorFormat)` If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields.
    `void` | `setShowChooserFiscalYearPicker(java.lang.Boolean showChooserFiscalYearPicker)` When set to true, show a button that allows the calendar to be navigated by fiscal year.
    `void` | `setShowChooserWeekPicker(java.lang.Boolean showChooserWeekPicker)` When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
    `void` | `setShowHintInField(java.lang.Boolean showHintInField)` If `useTextField` is true and a `hint` is set, should the hint be shown within the field?
    `void` | `setShowPickerTimeItem(java.lang.Boolean showPickerTimeItem)` If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?
    `void` | `setStartDate(java.util.Date startDate)` Minimum date the selectors will allow the user to pick.
    `void` | `setTextAlign(Alignment textAlign)` If `useTextField` is `true` this property governs the alignment of text within the text field.
    `void` | `setTextFieldProperties(TextItem textFieldProperties)` Custom properties to apply to this dateItem's generated `textField`.
    `void` | `setUse24HourTime(java.lang.Boolean use24HourTime)` When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time.
    `void` | `setUseMask(java.lang.Boolean useMask)` If `useTextField` is not `false` this property determines if an input mask should be used.
    `void` | `setUsePlaceholderForHint(boolean usePlaceholderForHint)` If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.
    `void` | `setUseSharedPicker(java.lang.Boolean useSharedPicker)` When set to true (the default), use a single shared date-picker across all widgets that use one.
    `void` | `setUseTextField(java.lang.Boolean useTextField)` Should we show the date in a text field, or as 3 select boxes?
    `void` | `setWrapHintText(java.lang.Boolean wrapHintText)` If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.
    `void` | `setYearSelectorProperties(SelectItem yearSelectorProperties)` Custom properties to apply to this dateItem's generated `yearSelector`.

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

      `_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, 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, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getApplyAlignToText, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanSelectText, getCanTabToIcons, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDisabled, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getExportFormat, getFetchMissingValues, getFieldName, getFilterLocally, 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, getIconVAlign, getIconWidth, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getLeft, getLoadingDisplayValue, getLocateItemBy, getMinHintWidth, getMultipleValueSeparator, getName, getOperator, getOptionCriteria, getOptionDataSource, getOptionDataSourceAsString, getOptionFilterContext, getOptionOperationId, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPicker, getPickerIconHeight, getPickerIconName, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintTextBoxStyle, getPrintTitleStyle, getPrompt, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getReadOnlyWhen, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRequiredWhen, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShouldSaveValue, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowOldValueInHover, getShowOver, getShowOverIcons, getShowPending, getShowPickerIcon, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextBoxStyle, getTextFormula, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getUpdateControlOnOver, getUpdatePickerIconOnOver, getUpdateTextBoxOnOver, getUseDisabledHintStyleForReadOnly, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsRecordList, getValueDeselectedCSSText, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWhen, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapTitle, handleWarnOnEditorTypeConversion, hasAdvancedCriteria, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isCreated, isCutEvent, isDisabled, isDrawn, isFocused, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, 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, setBrowserSpellCheck, setCanEdit, setCanEditCriterionPredicate, setCanEditOpaqueValues, setCanFocus, setCanSelectText, setCanTabToIcons, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setControlStyle, setCriteriaField, setCriterion, setCriterionGetter, setCriterionSetter, setCustomStateGetter, setDataPath, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditPendingCSSText, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setExportFormat, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setFormula, setGlobalTabIndex, setHeight, setHeight, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverHeight, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconVAlign, setIconWidth, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLoadingDisplayValue, setLocateItemBy, setMinHintWidth, setMultipleValueSeparator, setName, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setOriginalValueMessage, setPickerIconHeight, setPickerIconName, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintTextBoxStyle, setPrintTitleStyle, setPrompt, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setReadOnlyWhen, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRequiredWhen, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShouldSaveValue, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIfCondition, setShowOldValueInHover, setShowOver, setShowOverIcons, setShowPending, setShowPickerIcon, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextBoxStyle, setTextFormula, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setUpdateControlOnOver, setUpdatePickerIconOnOver, setUpdateTextBoxOnOver, setUseDisabledHintStyleForReadOnly, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setVisibleWhen, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, storeValue, updateState, validate, valueClipped`

    - ### 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, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, getReadOnly, isFactoryCreated, logConfiguration, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated, setReadOnly`

    - ### 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 Detail

    - #### DateItem

          public DateItem()

    - #### DateItem

          public DateItem(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### DateItem

          public DateItem(java.lang.String name)

    - #### DateItem

          public DateItem(java.lang.String name,
                          java.lang.String title)

  - ### Method Detail

    - #### getOrCreateRef

          public static DateItem getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.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(java.lang.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)

    - #### setBrowserInputType

          public void setBrowserInputType(java.lang.String browserInputType)

      If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.

      The use of a native HTML5 date input causes certain features to be disabled. Input masks, the picker icon, and a custom `dateFormatter` are not supported. `In-field hints` are currently supported, but future browser changes might force this support to be removed. Therefore, it is safest to not use in-field hints (set showHintInField to false) in conjunction with a native HTML5 date input.

      NOTE: This feature requires specific CSS changes. Currently these changes have been made to the Enterprise, EnterpriseBlue, and Graphite skins only.

      Note : This is an advanced setting

      Overrides:
        `setBrowserInputType` in class `FormItem`
      Parameters:
        `browserInputType` - Default value is null

    - #### getBrowserInputType

          public java.lang.String getBrowserInputType()

      If `useTextField` is true and browserInputType is set to "date", then a native HTML5 date input is used in place of a text input.

      The use of a native HTML5 date input causes certain features to be disabled. Input masks, the picker icon, and a custom `dateFormatter` are not supported. `In-field hints` are currently supported, but future browser changes might force this support to be removed. Therefore, it is safest to not use in-field hints (set showHintInField to false) in conjunction with a native HTML5 date input.

      NOTE: This feature requires specific CSS changes. Currently these changes have been made to the Enterprise, EnterpriseBlue, and Graphite skins only.

      Overrides:
        `getBrowserInputType` in class `FormItem`
      Returns:
        String

    - #### setCenturyThreshold

          public void setCenturyThreshold(int centuryThreshold)

      Only used if we're showing the date in a text field. When parsing a date, if the year is specified with 1 or 2 digits and is less than the centuryThreshold, then the year will be assumed to be 20xx; otherwise it will be interpreted according to default browser behaviour, which will consider it to be 19xx.

      If you need to allow 1 and 2 digit years, set this attribute to `null` to have the control retain your year-value as entered.

      Parameters:
        `centuryThreshold` - Default value is 25
      See Also:
        `Appearance overview and related methods`

    - #### getCenturyThreshold

          public int getCenturyThreshold()

      Only used if we're showing the date in a text field. When parsing a date, if the year is specified with 1 or 2 digits and is less than the centuryThreshold, then the year will be assumed to be 20xx; otherwise it will be interpreted according to default browser behaviour, which will consider it to be 19xx.

      If you need to allow 1 and 2 digit years, set this attribute to `null` to have the control retain your year-value as entered.

      Returns:
        int
      See Also:
        `Appearance overview and related methods`

    - #### setDateFormatter

          public void setDateFormatter(DateDisplayFormat dateFormatter)

      If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item.
      Should be set to a standard `DateDisplayFormat`.

      As with any formItem rendering out a date value, if no explicit dateFormatter is supplied, dateFormatter will be derived from `DynamicForm.dateFormatter` or `DynamicForm.datetimeFormatter`, depending on the specified `FormItem.type` for this field, if set, otherwise from the standard default `Date.setShortDisplayFormat()` or `Date.setShortDatetimeDisplayFormat()`.

      NOTE: For entirely custom formats, developers may apply a custom `editorValueFormatter`. To ensure the DateItem is able to parse user-entered date strings back into Dates, for most cases developers can specify an explicit `inputFormat`, or if necessary a custom `editorValueParser`

      This attribute does not have an effect if a native HTML5 date or datetime input is being used. See `browserInputType`.

      Overrides:
        `setDateFormatter` in class `FormItem`
      Parameters:
        `dateFormatter` - Default value is null
      See Also:
        `FormItem.setTimeFormatter(com.smartgwt.client.types.TimeDisplayFormat)`, `FormItem.setFormat(java.lang.String)`, `Appearance overview and related methods`

    - #### getDateFormatter

          public DateDisplayFormat getDateFormatter()

      If `useTextField` is `true` this property can be used to customize the format in which dates are displayed for this item.
      Should be set to a standard `DateDisplayFormat`.

      As with any formItem rendering out a date value, if no explicit dateFormatter is supplied, dateFormatter will be derived from `DynamicForm.dateFormatter` or `DynamicForm.datetimeFormatter`, depending on the specified `FormItem.type` for this field, if set, otherwise from the standard default `Date.setShortDisplayFormat()` or `Date.setShortDatetimeDisplayFormat()`.

      NOTE: For entirely custom formats, developers may apply a custom `editorValueFormatter`. To ensure the DateItem is able to parse user-entered date strings back into Dates, for most cases developers can specify an explicit `inputFormat`, or if necessary a custom `editorValueParser`

      This attribute does not have an effect if a native HTML5 date or datetime input is being used. See `browserInputType`.

      Overrides:
        `getDateFormatter` in class `FormItem`
      Returns:
        DateDisplayFormat
      See Also:
        `FormItem.getTimeFormatter()`, `FormItem.getFormat()`, `Appearance overview and related methods`

    - #### getDaySelector

          public SelectItem getDaySelector()

      Select item to hold the day part of the date.

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

      Returns:
        SelectItem

    - #### setDaySelectorProperties

          public void setDaySelectorProperties(SelectItem daySelectorProperties)

      Custom properties to apply to this dateItem's generated `daySelector`.

      Note : This is an advanced setting

      Parameters:
        `daySelectorProperties` - Default value is null

    - #### getDaySelectorProperties

          public SelectItem getDaySelectorProperties()

      Custom properties to apply to this dateItem's generated `daySelector`.
      Returns:
        SelectItem

    - #### setDefaultChooserDate

          public void setDefaultChooserDate(java.util.Date defaultChooserDate)

      Default date to show in the date chooser. If this items value is currently unset, this property may be specified to set a default date to highlight in the dateChooser for this item. If unset, the date chooser will highlight the current date by default. Note that this has no effect if the item as a whole currently has a value - in that case the date chooser will always highlight the current value for the item.
      Parameters:
        `defaultChooserDate` - Default value is null

    - #### getDefaultChooserDate

          public java.util.Date getDefaultChooserDate()

      Default date to show in the date chooser. If this items value is currently unset, this property may be specified to set a default date to highlight in the dateChooser for this item. If unset, the date chooser will highlight the current date by default. Note that this has no effect if the item as a whole currently has a value - in that case the date chooser will always highlight the current value for the item.
      Returns:
        Returns the default date to display in the date chooser if this form items value is currently unset.

        Default implementation returns `defaultChooserDate`

    - #### setEditProxyConstructor

          public 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`.
      Overrides:
        `setEditProxyConstructor` in class `FormItem`
      Parameters:
        `editProxyConstructor` -
      See Also:
        `SCClassName . Default value is "DateItemEditProxy"`

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `getEditProxyConstructor` in class `FormItem`
      Returns:
      See Also:
        `SCClassName`

    - #### setEndDate

          public void setEndDate(java.util.Date endDate)

      Maximum date the selectors will allow the user to pick.

      See `startDate` for details on how this restriction works.
      If this method is called after the component has been drawn/initialized: Setter for `endDate`.

      Parameters:
        `endDate` - the new endDate.. Default value is 12/31/2015
      See Also:
        `Appearance overview and related methods`

    - #### getEndDate

          public java.util.Date getEndDate()

      Maximum date the selectors will allow the user to pick.

      See `startDate` for details on how this restriction works.

      Returns:
        Date
      See Also:
        `Appearance overview and related methods`

    - #### setEnforceDate

          public void setEnforceDate(java.lang.Boolean enforceDate)

      Can this field be set to a non-date value [other than null]?

      When set to true, `FormItem.setValue()` will return false without setting the item value and log a warning if passed something other than a valid date value. If the dateItem is showing a `free-form text entry field`, and a user enters a text value which cannot be parsed into a valid date, the item will automatically redraw and display the `invalidDateStringMessage` (though at this point calling `FormItem.getValue()` will return the string entered by the user).

      When set to false, a user may enter a value that is not a valid date (for example, "Not applicable") and the value will not immediately be flagged as an error. However note that for the value to actually pass validation you would need to declare the field as not of "date" type, for example:

                {name:"startDate", type:"dateOrOther", editorType:"DateItem", useTextField:true },

      The type "dateOrOther" could be declared as a `SimpleType`, with validators that will accept either a valid date or certain special Strings (like "Not Available").

      Only applies to dateItems where `useTextField` is true. Non-Date values are never supported in items where useTextField is false.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Note : This is an advanced setting

      Parameters:
        `enforceDate` - Default value is false

    - #### getEnforceDate

          public java.lang.Boolean getEnforceDate()

      Can this field be set to a non-date value [other than null]?

      When set to true, `FormItem.setValue()` will return false without setting the item value and log a warning if passed something other than a valid date value. If the dateItem is showing a `free-form text entry field`, and a user enters a text value which cannot be parsed into a valid date, the item will automatically redraw and display the `invalidDateStringMessage` (though at this point calling `FormItem.getValue()` will return the string entered by the user).

      When set to false, a user may enter a value that is not a valid date (for example, "Not applicable") and the value will not immediately be flagged as an error. However note that for the value to actually pass validation you would need to declare the field as not of "date" type, for example:

                {name:"startDate", type:"dateOrOther", editorType:"DateItem", useTextField:true },

      The type "dateOrOther" could be declared as a `SimpleType`, with validators that will accept either a valid date or certain special Strings (like "Not Available").

      Only applies to dateItems where `useTextField` is true. Non-Date values are never supported in items where useTextField is false.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Returns:
        Boolean

    - #### setInputFormat

          public void setInputFormat(java.lang.String inputFormat)

      If `useTextField` is `true` this property can be used to specify the input format for date strings. If unset, the input format will be determined based on the specified `dateFormatter` if possible (see `getInputFormat()`), otherwise picked up from the Date class (see `Date.setInputFormat()`).

      Should be set to a standard `DateInputFormat`

      Note that the `DateInputFormat` property is sufficient to parse date or datetime strings specified in most standard date formats. However should an entirely custom parsing function be required developers can apply a custom `editorValueParser` function.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Overrides:
        `setInputFormat` in class `FormItem`
      Parameters:
        `inputFormat` -
      See Also:
        `DateInputFormat . Default value is null`, `FormItem.setDisplayFormat(com.smartgwt.client.types.DateDisplayFormat)`

    - #### getInputFormat

          public java.lang.String getInputFormat()

      If `useTextField` is `true` this property can be used to specify the input format for date strings. If unset, the input format will be determined based on the specified `dateFormatter` if possible (see `getInputFormat()`), otherwise picked up from the Date class (see `Date.setInputFormat()`).

      Should be set to a standard `DateInputFormat`

      Note that the `DateInputFormat` property is sufficient to parse date or datetime strings specified in most standard date formats. However should an entirely custom parsing function be required developers can apply a custom `editorValueParser` function.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Overrides:
        `getInputFormat` in class `FormItem`
      Returns:
        If `useTextField` is `true` this method returns a standard `DateInputFormat`, determining how values entered by the user are to be converted to Javascript Date objects.

        If an explicit `inputFormat` has been specified it will be returned, otherwise, if a custom `dateFormatter` or `format` are specified, the input format will be automatically derived from that property.

        Otherwise, the global inputFormat is used.

        Note that the inputFormat will ignore any separator characters and padding of values. However if necessary entirely custom date formatting and parsing may be achieved via the `setEditorValueFormatter()` and `setEditorValueParser()` APIs.

      See Also:
        `DateInputFormat`, `com.smartgwt.client.widgets.form.fields.DateItem#getDisplayFormat`

    - #### setInvalidDateStringMessage

          public void setInvalidDateStringMessage(java.lang.String invalidDateStringMessage)

      Validation error message to display if the user enters an invalid date
      Parameters:
        `invalidDateStringMessage` - Default value is "Invalid date"

    - #### getInvalidDateStringMessage

          public java.lang.String getInvalidDateStringMessage()

      Validation error message to display if the user enters an invalid date
      Returns:
        String

    - #### setMaskDateSeparator

          public void setMaskDateSeparator(java.lang.String maskDateSeparator)

      If `useTextField` and `useMask` are both `true` this value is the separator between date components. If unset `Date.getDefaultDateSeparator()` will be used.

      Note : This is an advanced setting

      Parameters:
        `maskDateSeparator` - Default value is null
      See Also:
        `Basics overview and related methods`

    - #### getMonthSelector

          public SelectItem getMonthSelector()

      Select item to hold the month part of the date.

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

      Returns:
        SelectItem

    - #### setMonthSelectorProperties

          public void setMonthSelectorProperties(SelectItem monthSelectorProperties)

      Custom properties to apply to this dateItem's generated `monthSelector`.

      Note : This is an advanced setting

      Parameters:
        `monthSelectorProperties` - Default value is null

    - #### getMonthSelectorProperties

          public SelectItem getMonthSelectorProperties()

      Custom properties to apply to this dateItem's generated `monthSelector`.
      Returns:
        SelectItem

    - #### setPickerIconPrompt

          public void setPickerIconPrompt(java.lang.String pickerIconPrompt)

      Prompt to show when the user hovers the mouse over the picker icon for this DateItem. May be overridden for localization of your application.
      Overrides:
        `setPickerIconPrompt` in class `FormItem`
      Parameters:
        `pickerIconPrompt` -
      See Also:
        `HTMLString . Default value is "Show Date Chooser"`

    - #### getPickerIconPrompt

          public java.lang.String getPickerIconPrompt()

      Prompt to show when the user hovers the mouse over the picker icon for this DateItem. May be overridden for localization of your application.
      Overrides:
        `getPickerIconPrompt` in class `FormItem`
      Returns:
      See Also:
        `HTMLString`

    - #### setPickerProperties

          public void setPickerProperties(DateChooser pickerProperties)

      Properties for the `DateChooser` created by this form item.
      Parameters:
        `pickerProperties` - Default value is see below
      See Also:
        `SGWTProperties`

    - #### getPickerProperties

          public DateChooser getPickerProperties()

      Properties for the `DateChooser` created by this form item.
      Returns:
        DateChooser

    - #### setPickerTimeItemProperties

          public void setPickerTimeItemProperties(TimeItem pickerTimeItemProperties)

      A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.

      Has no effect for fields of type `"date"`.

      Note : This is an advanced setting

      Parameters:
        `pickerTimeItemProperties` - Default value is null

    - #### getPickerTimeItemProperties

          public TimeItem getPickerTimeItemProperties()

      A set of properties to apply to the `TimeItem` displayed in the picker when `showPickerTimeItem` is true.

      Has no effect for fields of type `"date"`.

      Returns:
        TimeItem

    - #### setSelectorFormat

          public void setSelectorFormat(DateItemSelectorFormat selectorFormat)

      If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields. If unset these fields will match the specified inputFormat for this item.

      Note: selectors may be ommitted entirely by setting selectorFormat to (for example) `"MD"`. In this case the value for the omitted selector will match the `defaultValue` specified for the item. For example, if the selector format is "MD" (month and day only), the year comes from the Date specified as the defaultValue.

      Parameters:
        `selectorFormat` - Default value is null

    - #### getSelectorFormat

          public DateItemSelectorFormat getSelectorFormat()

      If showing date selectors rather than the date text field (so when `this.useTextField` is false), this property allows customization of the order of the day, month and year selector fields. If unset these fields will match the specified inputFormat for this item.

      Note: selectors may be ommitted entirely by setting selectorFormat to (for example) `"MD"`. In this case the value for the omitted selector will match the `defaultValue` specified for the item. For example, if the selector format is "MD" (month and day only), the year comes from the Date specified as the defaultValue.

      Returns:
        DateItemSelectorFormat

    - #### setShowChooserFiscalYearPicker

          public void setShowChooserFiscalYearPicker(java.lang.Boolean showChooserFiscalYearPicker)

      When set to true, show a button that allows the calendar to be navigated by fiscal year.
      Parameters:
        `showChooserFiscalYearPicker` - Default value is false

    - #### getShowChooserFiscalYearPicker

          public java.lang.Boolean getShowChooserFiscalYearPicker()

      When set to true, show a button that allows the calendar to be navigated by fiscal year.
      Returns:
        Boolean

    - #### setShowChooserWeekPicker

          public void setShowChooserWeekPicker(java.lang.Boolean showChooserWeekPicker)

      When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
      Parameters:
        `showChooserWeekPicker` - Default value is false

    - #### getShowChooserWeekPicker

          public java.lang.Boolean getShowChooserWeekPicker()

      When set to true, show a button that allows the calendar to be navigated by week or fiscal week, depending on the value of `showChooserFiscalYearPicker`.
      Returns:
        Boolean

    - #### setShowHintInField

          public void setShowHintInField(java.lang.Boolean showHintInField)

      If `useTextField` is true and a `hint` is set, should the hint be shown within the field?

      Note that when using a native HTML5 date input (see `browserInputType`), in-field hints are currently supported, but future browser changes might not allow in-field hints to be supported. Therefore, it is safest to not use in-field hints in conjunction with a native HTML5 date input.

      To change this attribute after being drawn, it is necessary to call `FormItem.redraw()` or redraw the form.

      Note : This is an advanced setting

      Parameters:
        `showHintInField` - Default value is null
      See Also:
        `FormItem.setHint(java.lang.String)`, `setUsePlaceholderForHint(boolean)`, `Appearance overview and related methods`

    - #### getShowHintInField

          public java.lang.Boolean getShowHintInField()

      If `useTextField` is true and a `hint` is set, should the hint be shown within the field?

      Note that when using a native HTML5 date input (see `browserInputType`), in-field hints are currently supported, but future browser changes might not allow in-field hints to be supported. Therefore, it is safest to not use in-field hints in conjunction with a native HTML5 date input.

      To change this attribute after being drawn, it is necessary to call `FormItem.redraw()` or redraw the form.

      Returns:
        Boolean
      See Also:
        `FormItem.getHint()`, `getUsePlaceholderForHint()`, `Appearance overview and related methods`

    - #### setShowPickerTimeItem

          public void setShowPickerTimeItem(java.lang.Boolean showPickerTimeItem)

      If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?

      Has no effect for fields of type `"date"`.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Parameters:
        `showPickerTimeItem` - Default value is true

    - #### getShowPickerTimeItem

          public java.lang.Boolean getShowPickerTimeItem()

      If this field is of type `"datetime"`, when showing the `DateChooser`, should the `time field` be displayed?

      Has no effect for fields of type `"date"`.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Returns:
        Boolean

    - #### setStartDate

          public void setStartDate(java.util.Date startDate)

      Minimum date the selectors will allow the user to pick.

      NOTE: by design, setting `startDate` and `endDate` will not always prevent the user from picking invalid values. In particular:

      - the set of available days will only be restricted if the start and end dates fall within the same month
      - the set of available months will only be restricted if the start and end dates fall within the same year

      This is by design as it allows the user to set the day, month and year in whatever order is convenient, rather than forcing them to pick in a specific order.

      For actual enforcement of a date being in correct range before data is submitted, a `Validator` of type "dateRange" should always be declared.
      If this method is called after the component has been drawn/initialized: Setter for `startDate`.

      Parameters:
        `startDate` - the new startDate.. Default value is 1/1/1995
      See Also:
        `Appearance overview and related methods`

    - #### getStartDate

          public java.util.Date getStartDate()

      Minimum date the selectors will allow the user to pick.

      NOTE: by design, setting `startDate` and `endDate` will not always prevent the user from picking invalid values. In particular:

      - the set of available days will only be restricted if the start and end dates fall within the same month
      - the set of available months will only be restricted if the start and end dates fall within the same year

      This is by design as it allows the user to set the day, month and year in whatever order is convenient, rather than forcing them to pick in a specific order.

      For actual enforcement of a date being in correct range before data is submitted, a `Validator` of type "dateRange" should always be declared.

      Returns:
        Date
      See Also:
        `Appearance overview and related methods`

    - #### setTextAlign

          public void setTextAlign(Alignment textAlign)

      If `useTextField` is `true` this property governs the alignment of text within the text field. Defaults to `"right"` by default or `"left"` if the page is in `rtl mode`.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Overrides:
        `setTextAlign` in class `FormItem`
      Parameters:
        `textAlign` - Default value is varies
      See Also:
        `Appearance overview and related methods`

    - #### getTextAlign

          public Alignment getTextAlign()

      If `useTextField` is `true` this property governs the alignment of text within the text field. Defaults to `"right"` by default or `"left"` if the page is in `rtl mode`.

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Overrides:
        `getTextAlign` in class `FormItem`
      Returns:
        Alignment
      See Also:
        `Appearance overview and related methods`

    - #### getTextField

          public TextItem getTextField()

      Text field to hold the entire date in "type in" format, if `useTextField` is true.

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

      Returns:
        TextItem

    - #### setTextFieldProperties

          public void setTextFieldProperties(TextItem textFieldProperties)

      Custom properties to apply to this dateItem's generated `textField`. Only applies if `useTextField` is true.

      Note : This is an advanced setting

      Parameters:
        `textFieldProperties` - Default value is null

    - #### getTextFieldProperties

          public TextItem getTextFieldProperties()

      Custom properties to apply to this dateItem's generated `textField`. Only applies if `useTextField` is true.
      Returns:
        TextItem

    - #### setUse24HourTime

          public void setUse24HourTime(java.lang.Boolean use24HourTime)

      When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time. The default is true.

      Has no effect if `showPickerTimeItem` is explicitly set to `false`.

      Parameters:
        `use24HourTime` - Default value is true

    - #### getUse24HourTime

          public java.lang.Boolean getUse24HourTime()

      When showing the `DateChooser` and the field is of type "datetime", whether the `time field` should be set to use 24-hour time. The default is true.

      Has no effect if `showPickerTimeItem` is explicitly set to `false`.

      Returns:
        Boolean

    - #### setUseMask

          public void setUseMask(java.lang.Boolean useMask)

      If `useTextField` is not `false` this property determines if an input mask should be used. The format of the mask is determined by the `inputFormat` or `dateFormatter` (in that order).

      This attribute does not have an effect if a native HTML5 date input is being used. See `browserInputType`.

      Note : This is an advanced setting

      Parameters:
        `useMask` - Default value is null
      See Also:
        `setMaskDateSeparator(java.lang.String)`, `Basics overview and related methods`

    - #### setUsePlaceholderForHint

          public void setUsePlaceholderForHint(boolean usePlaceholderForHint)

      If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.

      The HTML5 `placeholder` attribute is supported in the following major browsers:

      - Chrome 4+
      - Firefox 4+
      - Internet Explorer 10+
      - Safari 5+
      - Opera 11.50+
      - Android 2.1+ `WebView` (used by the stock Browser app and when `packaging with PhoneGap`)
      - Mobile Safari for iOS 3.2+

      In browsers other than the above, in-field hints are implemented via a different technique.

      Note that placeholder behavior is known to differ in Internet Explorer and certain old versions of the above browsers due to a recent change in the HTML5 specification regarding the `placeholder` attribute. Under the old rules, the placeholder is cleared when the element is focused. In the latest HTML5 spec as published by WHATWG, the placeholder is still displayed when the element is focused as long as the value is an empty string.

      ### Styling the placeholder

      While there isn't a standard way to style the placeholder text, Chrome, Firefox, Internet Explorer, and Safari provide vendor-prefixed pseudo-classes and/or pseudo-elements that can be used in CSS selectors:

      Browser | Pseudo-class or pseudo-element
      --- | ---
      Chrome, Safari | `::-webkit-input-placeholder`
      Firefox 4 - 18 | `:-moz-placeholder`
      Firefox 19+ | `::-moz-placeholder`
      Internet Explorer | `:-ms-input-placeholder`

      Note that unlike other browsers, Firefox 19+ applies opacity:0.4 to the placeholder text. See Bug 556145 - Placeholder text default style should use opacity instead of GrayText

      Because browsers are required to ignore the entire rule if a selector is invalid, separate rules are needed for each browser. For example:

          ::-webkit-input-placeholder {
               color: blue;
               opacity: 1;
           }
           :-moz-placeholder {
               color: blue;
               opacity: 1;
           }
           ::-moz-placeholder {
               color: blue;
               opacity: 1;
           }
           :-ms-input-placeholder {
               color: blue;
               opacity: 1;
           }

      If using Sass, it may be useful to utilize Sass' parent selector feature. For example:

          .myCustomItem,
           .myCustomItemRTL,
           .myCustomItemDisabled,
           .myCustomItemDisabledRTL,
           .myCustomItemError,
           .myCustomItemErrorRTL,
           .myCustomItemFocused,
           .myCustomItemFocusedRTL,
           .myCustomItemHint,
           .myCustomItemHintRTL,
           .myCustomItemDisabledHint,
           .myCustomItemDisabledHintRTL {
               // ...

               &::-webkit-input-placeholder {
                   color: blue;
                   opacity: 1;
               }
               &:-moz-placeholder {
                   color: blue;
                   opacity: 1;
               }
               &::-moz-placeholder {
                   color: blue;
                   opacity: 1;
               }
               &:-ms-input-placeholder {
                   color: blue;
                   opacity: 1;
               }
           }

      If using Compass, the `input-placeholder` mixin that was added in version 1.0 can further simplify the code to style the placeholder text For example:

          .myCustomItem,
           .myCustomItemRTL,
           .myCustomItemDisabled,
           .myCustomItemDisabledRTL,
           .myCustomItemError,
           .myCustomItemErrorRTL,
           .myCustomItemFocused,
           .myCustomItemFocusedRTL,
           .myCustomItemHint,
           .myCustomItemHintRTL,
           .myCustomItemDisabledHint,
           .myCustomItemDisabledHintRTL {
               // ...

               @include input-placeholder {
                   color: blue;
                   opacity: 1;
               }
           }

      ### Accessibility concerns

      The HTML5 specification notes that a placeholder should not be used as a replacement for a title. The placeholder is intended to be a short hint that assists the user who is entering a value into the empty field. The placeholder can be mistaken by some users for a pre-filled value, particularly in Internet Explorer because the same color is used, and the placeholder text color may provide insufficient contrast, particularly in Firefox 19+ because of the default 0.4 opacity. Furthermore, not having a title reduces the hit area available for setting focus on the item.

      Note : This is an advanced setting

      Parameters:
        `usePlaceholderForHint` - Default value is true
      See Also:
        `FormItem.setHint(java.lang.String)`, `Appearance overview and related methods`

    - #### getUsePlaceholderForHint

          public boolean getUsePlaceholderForHint()

      If `showing the hint in field` and if supported by the browser, should the HTML5 `placeholder` attribute be used to display the hint within the field? If set to `false`, then use of the `placeholder` attribute is disabled and an alternative technique to display the hint in-field is used instead.

      The HTML5 `placeholder` attribute is supported in the following major browsers:

      - Chrome 4+
      - Firefox 4+
      - Internet Explorer 10+
      - Safari 5+
      - Opera 11.50+
      - Android 2.1+ `WebView` (used by the stock Browser app and when `packaging with PhoneGap`)
      - Mobile Safari for iOS 3.2+

      In browsers other than the above, in-field hints are implemented via a different technique.

      Note that placeholder behavior is known to differ in Internet Explorer and certain old versions of the above browsers due to a recent change in the HTML5 specification regarding the `placeholder` attribute. Under the old rules, the placeholder is cleared when the element is focused. In the latest HTML5 spec as published by WHATWG, the placeholder is still displayed when the element is focused as long as the value is an empty string.

      ### Styling the placeholder

      While there isn't a standard way to style the placeholder text, Chrome, Firefox, Internet Explorer, and Safari provide vendor-prefixed pseudo-classes and/or pseudo-elements that can be used in CSS selectors:

      Browser | Pseudo-class or pseudo-element
      --- | ---
      Chrome, Safari | `::-webkit-input-placeholder`
      Firefox 4 - 18 | `:-moz-placeholder`
      Firefox 19+ | `::-moz-placeholder`
      Internet Explorer | `:-ms-input-placeholder`

      Note that unlike other browsers, Firefox 19+ applies opacity:0.4 to the placeholder text. See Bug 556145 - Placeholder text default style should use opacity instead of GrayText

      Because browsers are required to ignore the entire rule if a selector is invalid, separate rules are needed for each browser. For example:

          ::-webkit-input-placeholder {
               color: blue;
               opacity: 1;
           }
           :-moz-placeholder {
               color: blue;
               opacity: 1;
           }
           ::-moz-placeholder {
               color: blue;
               opacity: 1;
           }
           :-ms-input-placeholder {
               color: blue;
               opacity: 1;
           }

      If using Sass, it may be useful to utilize Sass' parent selector feature. For example:

          .myCustomItem,
           .myCustomItemRTL,
           .myCustomItemDisabled,
           .myCustomItemDisabledRTL,
           .myCustomItemError,
           .myCustomItemErrorRTL,
           .myCustomItemFocused,
           .myCustomItemFocusedRTL,
           .myCustomItemHint,
           .myCustomItemHintRTL,
           .myCustomItemDisabledHint,
           .myCustomItemDisabledHintRTL {
               // ...

               &::-webkit-input-placeholder {
                   color: blue;
                   opacity: 1;
               }
               &:-moz-placeholder {
                   color: blue;
                   opacity: 1;
               }
               &::-moz-placeholder {
                   color: blue;
                   opacity: 1;
               }
               &:-ms-input-placeholder {
                   color: blue;
                   opacity: 1;
               }
           }

      If using Compass, the `input-placeholder` mixin that was added in version 1.0 can further simplify the code to style the placeholder text For example:

          .myCustomItem,
           .myCustomItemRTL,
           .myCustomItemDisabled,
           .myCustomItemDisabledRTL,
           .myCustomItemError,
           .myCustomItemErrorRTL,
           .myCustomItemFocused,
           .myCustomItemFocusedRTL,
           .myCustomItemHint,
           .myCustomItemHintRTL,
           .myCustomItemDisabledHint,
           .myCustomItemDisabledHintRTL {
               // ...

               @include input-placeholder {
                   color: blue;
                   opacity: 1;
               }
           }

      ### Accessibility concerns

      The HTML5 specification notes that a placeholder should not be used as a replacement for a title. The placeholder is intended to be a short hint that assists the user who is entering a value into the empty field. The placeholder can be mistaken by some users for a pre-filled value, particularly in Internet Explorer because the same color is used, and the placeholder text color may provide insufficient contrast, particularly in Firefox 19+ because of the default 0.4 opacity. Furthermore, not having a title reduces the hit area available for setting focus on the item.
      Returns:
        boolean
      See Also:
        `FormItem.getHint()`, `Appearance overview and related methods`

    - #### setUseSharedPicker

          public void setUseSharedPicker(java.lang.Boolean useSharedPicker)

      When set to true (the default), use a single shared date-picker across all widgets that use one. When false, create a new picker using the autoChild system. See `picker` and `pickerProperties` for details on setting up an unshared picker.
      Parameters:
        `useSharedPicker` - Default value is true

    - #### getUseSharedPicker

          public java.lang.Boolean getUseSharedPicker()

      When set to true (the default), use a single shared date-picker across all widgets that use one. When false, create a new picker using the autoChild system. See `picker` and `pickerProperties` for details on setting up an unshared picker.
      Returns:
        Boolean

    - #### setUseTextField

          public void setUseTextField(java.lang.Boolean useTextField)

      Should we show the date in a text field, or as 3 select boxes?
      Parameters:
        `useTextField` - Default value is null
      See Also:
        `Basics overview and related methods`, Date Example

    - #### getUseTextField

          public java.lang.Boolean getUseTextField()

      Should we show the date in a text field, or as 3 select boxes?
      Returns:
        Boolean
      See Also:
        `Basics overview and related methods`, Date Example

    - #### setWrapHintText

          public void setWrapHintText(java.lang.Boolean wrapHintText)

      If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.

      If unset this property will be picked up from the `DynamicForm.wrapHintText` setting.

      This setting does not apply to hints that are `shown in field`.

      Overrides:
        `setWrapHintText` in class `FormItem`
      Parameters:
        `wrapHintText` - Default value is false
      See Also:
        `FormItem.setMinHintWidth(java.lang.Integer)`

    - #### getWrapHintText

          public java.lang.Boolean getWrapHintText()

      If this item is showing a `FormItem.hint`, should the hint text be allowed to wrap? Setting this property to `false` will render the hint on a single line without wrapping, expanding the width required to render the item if necessary.

      If unset this property will be picked up from the `DynamicForm.wrapHintText` setting.

      This setting does not apply to hints that are `shown in field`.

      Overrides:
        `getWrapHintText` in class `FormItem`
      Returns:
        Boolean
      See Also:
        `FormItem.getMinHintWidth()`

    - #### getYearSelector

          public SelectItem getYearSelector()

      Select item to hold the year part of the date.

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

      Returns:
        SelectItem

    - #### setYearSelectorProperties

          public void setYearSelectorProperties(SelectItem yearSelectorProperties)

      Custom properties to apply to this dateItem's generated `yearSelector`.

      Note : This is an advanced setting

      Parameters:
        `yearSelectorProperties` - Default value is null

    - #### getYearSelectorProperties

          public SelectItem getYearSelectorProperties()

      Custom properties to apply to this dateItem's generated `yearSelector`.
      Returns:
        SelectItem

    - #### deselectValue

          public void deselectValue()

      If `useTextField` is true, falls through to standard `deselectValue()` implementation on this items freeform text entry field. Otherwise has no effect.

    - #### deselectValue

          public void deselectValue(java.lang.Boolean start)

      If `useTextField` is true, falls through to standard `deselectValue()` implementation on this items freeform text entry field. Otherwise has no effect.
      Parameters:
        `start` - If this parameter is passed, new cursor insertion position will be moved to the start, rather than the end of this item's value.

    - #### getEnteredValue

          public java.lang.String getEnteredValue()

      Returns the raw text value typed into this items text field if `useTextField` is true (otherwise returns the result of this.getValue()).
      Returns:
        value the user entered

    - #### getFiscalCalendar

          public FiscalCalendar getFiscalCalendar()

      Returns the `FiscalCalendar` object that will be used by this item's DateChooser.
      Returns:
        the fiscal calendar for this chooser, if set, or the global one otherwise

    - #### pendingStatusChanged

          public 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 date item 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, when displayed in the pending state:

      - If `useTextField` is `true`, then the "Pending" suffix will be appended to the `textBoxStyle` applied to the `textField`; otherwise
      - (`useTextField` is `false`) the color of the `daySelector`, `monthSelector` and/or `yearSelector` will change when the day, month, or year is different, respectively.
      Returning `false` will cancel this default behavior.
      Parameters:
        `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()`.
      Returns:
        `false` to cancel the default behavior.

    - #### selectValue

          public void selectValue()

      If `useTextField` is true, falls through to standard `selectValue()` implementation on this items freeform text entry field. Otherwise has no effect.

    - #### setFiscalCalendar

          public void setFiscalCalendar()

      Sets the `FiscalCalendar` object that will be used by this item's DateChooser. If unset, the `global fiscal calendar` is used.

    - #### setFiscalCalendar

          public void setFiscalCalendar(FiscalCalendar fiscalCalendar)

      Sets the `FiscalCalendar` object that will be used by this item's DateChooser. If unset, the `global fiscal calendar` is used.
      Parameters:
        `fiscalCalendar` - the fiscal calendar for this chooser, if set, or the global one otherwise

    - #### setSelectionRange

          public void setSelectionRange(int start,
                                        int end)

      If `useTextField` is true, falls through to standard `setSelectionRange()` implementation on this items freeform text entry field. Otherwise has no effect.
      Parameters:
        `start` - character index for start of new selection
        `end` - character index for end of new selection

    - #### setDefaultProperties

          public static void setDefaultProperties(DateItem dateItemProperties)

      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:
        `dateItemProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### getValueAsDate

          public java.util.Date getValueAsDate()

      Return the value tracked by this form item.
      Returns:
        value of this element

    - #### getSelectionRange

          public int[] getSelectionRange()

      If `useTextField` is true, falls through to standard `com.smartgwt.client.widgets.form.fields.FormItem#getSelectionRange` implementation on this items freeform text entry field. Otherwise has no effect.
      Returns:
        2 element array indicating start/end character index of current selection within our text entry field. Returns null if this item is undrawn or doesn't have focus.

    - #### setEditorValueFormatter

          public void setEditorValueFormatter(FormItemValueFormatter formatter)

      An optional `FormItemValueFormatter` to map this item's current data value to a display value. Only applies if `setUseTextField(java.lang.Boolean)` is true.

      Notes

      - `#setDateFormatter()` already provides support for most standard "short date" formats, so a completely custom formatter method is often not required.
      - System-wide custom date formatting and parsing may be achieved via methods on the `DateUtil` class.
      - When a custom formatter is specified, you may also need to modify the `#setInputFormat()` or supply a custom `#setEditorValueParser()`

      When writing custom date formatting and parsing logic, developers may find the `DateTimeFormat` class helpful.

      Overrides:
        `setEditorValueFormatter` in class `FormItem`
      Parameters:
        `formatter` - the FormItemValueFormatter

    - #### setEditorValueParser

          public void setEditorValueParser(FormItemValueParser valueParser)

      An optional `FormItemValueParser` to map a user-entered display value to a data value for storage. Only applies if `#setUseTextField()` is set to true.

      A custom parser function will typically only be required if a custom formatter is specified via `setEditorValueFormatter(FormItemValueFormatter)`. Even then, you may be able to simply specify an `inputFormat` that matches the custom display format for this item.

      System-wide custom date parsing and formatting may be achieved via methods on the `DateUtil` class.

      When writing custom date formatting and parsing logic, developers may find the `DateTimeFormat` class helpful.

      Overrides:
        `setEditorValueParser` in class `FormItem`
      Parameters:
        `valueParser` - the FormItemValueParser