Class LookupTextField

  • All Implemented Interfaces:
    EventChild, IntelligentField, LookupField, Localized, Identifiable, java.io.Serializable, java.lang.Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Disable, org.zkoss.zk.ui.ext.Readonly, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl, org.zkoss.zul.ext.Constrainted

    public class LookupTextField
    extends org.zkoss.zul.Bandbox
    implements IntelligentField, Identifiable, LookupField
    This field is used for two purposes:

    1) A textbox with a popup used to display the values of a lookup-table. Once the user selected an entry in the result list in the popup, the properties of the selected row are stored in an attribute named "selectedRow". Additionally an event named "onLookupSelected" containing the current selection is fired.

    2) A textbox with a popup containing a fixed set of predefined values. The user is able to select any number of these values by checking the rows in the list with the items. This functionality is enabled by setting a value for "Form" and removing the checkmark from "Show Buttons" in the forms-designer. The predefined values entered in "Form" can be replaced with other values by using the setMultiSearchItems method.
    See Also:
    Serialized Form
    • Field Detail

      • SELECTED_ROW_ATTRIBUTE

        public static final java.lang.String SELECTED_ROW_ATTRIBUTE
        Name of the attribute containing the selected row.
        See Also:
        Constant Field Values
      • ON_LOOKUP_SELECTED

        @Deprecated
        public static final java.lang.String ON_LOOKUP_SELECTED
        Deprecated.
        Constant has been replaced with LookupField.ON_LOOKUP_SELECTED.
        Name of the event fired when the user selected a lookup entry.
        See Also:
        Constant Field Values
      • DELIMITER

        public static final java.lang.String DELIMITER
        Delimiter for multiedit.
        See Also:
        Constant Field Values
    • Method Detail

      • open

        public void open()
        Overrides:
        open in class org.zkoss.zul.Bandbox
        See Also:
        Bandbox.open()
      • onOpen

        public void onOpen​(org.zkoss.zk.ui.event.Event event)
        Parameters:
        event - Open event
      • onCreate

        public void onCreate​(org.zkoss.zk.ui.event.Event event)
        Parameters:
        event - Create event.
      • onChange

        public void onChange​(org.zkoss.zk.ui.event.Event event)
        Parameters:
        event - Change event.
      • onOK

        public void onOK​(org.zkoss.zk.ui.event.Event event)
        Parameters:
        event - OK event.
      • onPageAttached

        public void onPageAttached​(org.zkoss.zk.ui.Page newPage,
                                   org.zkoss.zk.ui.Page oldPage)
        Specified by:
        onPageAttached in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        onPageAttached in class org.zkoss.zk.ui.AbstractComponent
        See Also:
        AbstractComponent.onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page)
      • onPageDetached

        public void onPageDetached​(org.zkoss.zk.ui.Page page)
        Specified by:
        onPageDetached in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        onPageDetached in class org.zkoss.zk.ui.AbstractComponent
        See Also:
        AbstractComponent.onPageDetached(org.zkoss.zk.ui.Page)
      • getPropertyValue

        public com.saperion.intf.SaPropertyValue getPropertyValue()
        Description copied from interface: IntelligentField
        Returns the current value of the field as SaPropertyValue.
        Specified by:
        getPropertyValue in interface IntelligentField
        Returns:
        the field's current value
      • setText

        public void setText​(java.lang.String value)
                     throws org.zkoss.zk.ui.WrongValueException
        Overrides:
        setText in class org.zkoss.zul.impl.InputElement
        Throws:
        org.zkoss.zk.ui.WrongValueException
      • getIntValue

        public java.lang.Integer getIntValue()
        Returns:
        Integer value, if this is a integer field.
      • getRealValue

        public java.lang.Double getRealValue()
        Returns:
        Double value, if this is a double field.
      • getIntValues

        public java.lang.Integer[] getIntValues()
        Returns:
        Integer value, if this is a integer field.
      • getRealValues

        public java.lang.Double[] getRealValues()
        Returns:
        Double value, if this is a double field.
      • isMultiSelect

        public boolean isMultiSelect()
        Returns:
        True, if field is multiselect.
      • getColorError

        public long getColorError()
        Returns:
        Value
        See Also:
        EditFieldType.getColorError()
      • getColorOk

        public long getColorOk()
        Returns:
        Value
        See Also:
        EditFieldType.getColorOk()
      • getConditionField

        public int getConditionField()
        Returns:
        Value
        See Also:
        EditFieldType.getConditionField()
      • getEnableMaximize

        public short getEnableMaximize()
        Returns:
        Value
        See Also:
        EditFieldType.getEnableMaximize()
      • getFName

        public java.lang.String getFName()
        Returns:
        Value
        See Also:
        EditFieldType.getFName()
      • getFont

        public com.saperion.ngc.iform.xml.FontType getFont()
        Returns:
        Value
        See Also:
        EditFieldType.getFont()
      • getLimit

        public java.lang.String getLimit()
        Description copied from interface: IntelligentField
        Returns the limit of this field (upper, lower or both).
        Specified by:
        getLimit in interface IntelligentField
        Returns:
        Value
        See Also:
        EditFieldType.getLimit()
      • getListVersion

        public long getListVersion()
        Returns:
        Value
        See Also:
        EditFieldType.getListVersion()
      • getMandatory

        public com.saperion.ngc.iform.xml.OverrideKindType getMandatory()
        Returns:
        Value
        See Also:
        EditFieldType.getMandatory()
      • getPos

        public com.saperion.ngc.iform.xml.PosType getPos()
        Returns:
        Value
        See Also:
        EditFieldType.getPos()
      • getResFieldCnt

        public int getResFieldCnt()
        Returns:
        Value
        See Also:
        EditFieldType.getResFieldCnt()
      • getResStyle

        public int getResStyle()
        Returns:
        Value
        See Also:
        EditFieldType.getResStyle()
      • getVarDataType

        public short getVarDataType()
        Returns:
        Value
        See Also:
        EditFieldType.getVarDataType()
      • getWxCombo

        public int getWxCombo()
        Returns:
        Value
        See Also:
        EditFieldType.getWxCombo()
      • getWyCombo

        public int getWyCombo()
        Returns:
        Value
        See Also:
        EditFieldType.getWyCombo()
      • getXCombo

        public int getXCombo()
        Returns:
        Value
        See Also:
        EditFieldType.getXCombo()
      • isAllowInactiveLookup

        public boolean isAllowInactiveLookup()
        Returns:
        Value
        See Also:
        EditFieldType.isAllowInactiveLookup()
      • isAutoComplete

        public boolean isAutoComplete()
        Returns:
        Value
        See Also:
        EditFieldType.isAutoComplete()
      • isBEnabled

        public boolean isBEnabled()
        Returns:
        Value
        See Also:
        EditFieldType.isBEnabled()
      • isBPersistent

        public boolean isBPersistent()
        Returns:
        Value
        See Also:
        EditFieldType.isBPersistent()
      • isHideButtons

        public boolean isHideButtons()
        Returns:
        Value
        See Also:
        EditFieldType.isHideButtons()
      • isIsVar

        public boolean isIsVar()
        Returns:
        Value
        See Also:
        EditFieldType.isIsVar()
      • isPersistVar

        public boolean isPersistVar()
        Returns:
        Value
        See Also:
        EditFieldType.isPersistVar()
      • isRestrictCursor

        public boolean isRestrictCursor()
        Returns:
        Value
        See Also:
        EditFieldType.isRestrictCursor()
      • isSaveLayout

        public boolean isSaveLayout()
        Returns:
        Value
        See Also:
        EditFieldType.isSaveLayout()
      • isUseCalendar

        public boolean isUseCalendar()
        Returns:
        Value
        See Also:
        EditFieldType.isUseCalendar()
      • setAlign

        public void setAlign​(com.saperion.ngc.iform.xml.AlignType value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setAlign(com.saperion.ngc.iform.xml.AlignType)
      • setAllowInactiveLookup

        public void setAllowInactiveLookup​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setAllowInactiveLookup(boolean)
      • setAutoComplete

        public void setAutoComplete​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setAutoComplete(boolean)
      • setBEnabled

        public void setBEnabled​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setBEnabled(boolean)
      • setBPersistent

        public void setBPersistent​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setBPersistent(boolean)
      • setColorError

        public void setColorError​(long value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setColorError(long)
      • setColorOk

        public void setColorOk​(long value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setColorOk(long)
      • setConditionField

        public void setConditionField​(int value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setConditionField(int)
      • setEnableMaximize

        public void setEnableMaximize​(short value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setEnableMaximize(short)
      • setFName

        public void setFName​(java.lang.String value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setFName(java.lang.String)
      • setFont

        public void setFont​(com.saperion.ngc.iform.xml.FontType value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setFont(com.saperion.ngc.iform.xml.FontType)
      • setHideButtons

        public void setHideButtons​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setHideButtons(boolean)
      • setIsVar

        public void setIsVar​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setIsVar(boolean)
      • setLimit

        public void setLimit​(java.lang.String value)
        Description copied from interface: IntelligentField
        Sets the limit type. Possible values are: 'lower', 'upper', 'both'.
        Specified by:
        setLimit in interface IntelligentField
        Parameters:
        value - Value
        See Also:
        EditFieldType.setLimit(com.saperion.ngc.iform.xml.LimitType)
      • setListVersion

        public void setListVersion​(long value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setListVersion(long)
      • setMandatory

        public void setMandatory​(com.saperion.ngc.iform.xml.OverrideKindType value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setMandatory(com.saperion.ngc.iform.xml.OverrideKindType)
      • setPersistVar

        public void setPersistVar​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setPersistVar(boolean)
      • setPos

        public void setPos​(com.saperion.ngc.iform.xml.PosType value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setPos(com.saperion.ngc.iform.xml.PosType)
      • setResFieldCnt

        public void setResFieldCnt​(int value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setResFieldCnt(int)
      • setResStyle

        public void setResStyle​(int value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setResStyle(int)
      • setRestrictCursor

        public void setRestrictCursor​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setRestrictCursor(boolean)
      • setSaveLayout

        public void setSaveLayout​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setSaveLayout(boolean)
      • setUseCalendar

        public void setUseCalendar​(boolean value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setUseCalendar(boolean)
      • setVarDataType

        public void setVarDataType​(short value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setVarDataType(short)
      • setWxCombo

        public void setWxCombo​(int value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setWxCombo(int)
      • setWyCombo

        public void setWyCombo​(int value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setWyCombo(int)
      • setXCombo

        public void setXCombo​(int value)
        Parameters:
        value - Value
        See Also:
        EditFieldType.setXCombo(int)
      • getEventtarget

        public java.util.Set<org.zkoss.zk.ui.Component> getEventtarget​(java.lang.String eventName)
        Reads the event target for the given event name, if set or the root element.
        Specified by:
        getEventtarget in interface EventChild
        Parameters:
        eventName - Event name or null for main target
        Returns:
        Set of event targets
        See Also:
        EventChild.getEventtarget(java.lang.String)
      • isValid

        public boolean isValid()
        Overrides:
        isValid in class org.zkoss.zul.impl.InputElement
        See Also:
        InputElement.isValid()
      • setReadonly

        public void setReadonly​(boolean readonly)
        Sets the readonle state of this field.
        Specified by:
        setReadonly in interface IntelligentField
        Specified by:
        setReadonly in interface org.zkoss.zk.ui.ext.Readonly
        Overrides:
        setReadonly in class org.zkoss.zul.impl.InputElement
        Parameters:
        readonly - readonly
        See Also:
        InputElement.setReadonly(boolean)
      • isReadonly

        public boolean isReadonly()
        gets the readonly state of this field.
        Specified by:
        isReadonly in interface IntelligentField
        Specified by:
        isReadonly in interface org.zkoss.zk.ui.ext.Readonly
        Overrides:
        isReadonly in class org.zkoss.zul.impl.InputElement
        See Also:
        InputElement.setReadonly(boolean)
      • setDisabled

        public void setDisabled​(boolean disabled)
        Sets the disabled state of this field.
        Specified by:
        setDisabled in interface org.zkoss.zk.ui.ext.Disable
        Specified by:
        setDisabled in interface IntelligentField
        Overrides:
        setDisabled in class org.zkoss.zul.impl.InputElement
        Parameters:
        disabled - Disabled
        See Also:
        InputElement.setDisabled(boolean)
      • setNoLocalize

        public void setNoLocalize​(boolean value)
        Sets the noLocalize parameter that can be used to disable localization of this component.
        Specified by:
        setNoLocalize in interface Localized
        Parameters:
        value - value
        See Also:
        Localized.setNoLocalize(boolean)
      • setMultiSearchItems

        public void setMultiSearchItems​(java.lang.String[] values)
        Sets the values to display for multi-selection. See LookupTextField on how to enable multiselection mode.
        When the field is in multiselection mode, the values defined in the form can be replaced by using this method. The field will not show values retrieved from the lookup-table when it is in multiselection mode. This method throws an UnsupportedOperationException when the field is not in multiselection mode.
        Parameters:
        values - Values to show in multiselect-popup
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class org.zkoss.zk.ui.AbstractComponent
        See Also:
        AbstractComponent.toString()
      • addCondition

        public void addCondition​(java.lang.String fieldName,
                                 java.lang.Object value,
                                 com.saperion.constants.SaConstants.SaFieldType fieldType)
        Adds a condition to the field that will be used to search for items displayed in the field's result list.
        Parameters:
        fieldName - the name of the field to check
        value - the value to check for
        fieldType - the type of the field (an SaConstants.SaFieldType)
      • addCondition

        public void addCondition​(java.lang.String fieldName,
                                 java.lang.Object value,
                                 com.saperion.constants.SaConstants.SaFieldType fieldType,
                                 boolean multiValue)
        Adds a condition to the field that will be used to search for items displayed in the field's result list.
        Parameters:
        fieldName - the name of the field to check
        value - the value to check for
        fieldType - the type of the field (an SaConstants.SaFieldType)
        multiValue - whether the field used in the condition is a multivalue-field or not
      • removeCondition

        public void removeCondition​(java.lang.String fieldName)
        Removes a condition from the field.
        Parameters:
        fieldName - name of the field to remove the condition for
      • clearSelectedRow

        public void clearSelectedRow()
        Description copied from interface: LookupField
        Clears the selected row from the field. The lookup table will not be changed.
        Specified by:
        clearSelectedRow in interface LookupField