Package org.zkoss.zul

Class Listheader

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl

    public class Listheader
    extends HeaderElement
    The list header which defines the attributes and header of a column of a list box. Its parent must be Listhead.

    Difference from XUL:

    1. There is no listcol in ZUL because it is merged into Listheader. Reason: easier to write Listbox.

    Default getZclass(): z-listheader.(since 5.0.0)

    Author:
    tomyeh
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent

        org.zkoss.zk.ui.AbstractComponent.Children, org.zkoss.zk.ui.AbstractComponent.ForwardInfo, org.zkoss.zk.ui.AbstractComponent.TargetInfo
    • Field Summary

      • Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent

        _zclass
      • Fields inherited from interface org.zkoss.zk.ui.Component

        APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
      • Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl

        AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_CLONED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
    • Constructor Summary

      Constructors 
      Constructor Description
      Listheader()  
      Listheader​(java.lang.String label)  
      Listheader​(java.lang.String label, java.lang.String src)  
      Listheader​(java.lang.String label, java.lang.String src, java.lang.String width)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void beforeParentChanged​(org.zkoss.zk.ui.Component parent)  
      java.lang.Object clone()  
      int getColumnIndex()
      Returns the column index, starting from 0.
      Listbox getListbox()
      Returns the listbox that this belongs to.
      int getMaxlength()
      Returns the maximal length of each item's label.
      java.util.Comparator getSortAscending()
      Returns the ascending sorter, or null if not available.
      java.util.Comparator getSortDescending()
      Returns the descending sorter, or null if not available.
      java.lang.String getSortDirection()
      Returns the sort direction.
      <T> T getValue()
      Returns the value.
      java.lang.String getZclass()  
      boolean group​(boolean ascending)
      Groups and sorts the items (Listitem) based on getSortAscending().
      void onGroupLater​(org.zkoss.zk.ui.event.SortEvent event)
      Internal use only.
      void onSort​(org.zkoss.zk.ui.event.SortEvent event)
      Invokes a sorting action based on a SortEvent and maintains getSortDirection().
      protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)  
      void service​(org.zkoss.zk.au.AuRequest request, boolean everError)
      Processes an AU request.
      void setMaxlength​(int maxlength)
      Sets the maximal length of each item's label.
      void setSort​(java.lang.String type)
      Sets the type of the sorter.
      void setSortAscending​(java.lang.String clsnm)
      Sets the ascending sorter with the class name, or null for no sorter for the ascending order.
      void setSortAscending​(java.util.Comparator sorter)
      Sets the ascending sorter, or null for no sorter for the ascending order.
      void setSortDescending​(java.lang.String clsnm)
      Sets the descending sorter with the class name, or null for no sorter for the descending order.
      void setSortDescending​(java.util.Comparator sorter)
      Sets the descending sorter, or null for no sorter for the descending order.
      void setSortDirection​(java.lang.String sortDir)
      Sets the sort direction.
      <T> void setValue​(T value)
      Sets the value.
      boolean sort​(boolean ascending)
      Sorts the list items based on getSortAscending() and getSortDescending(), if getSortDirection() doesn't matches the ascending argument.
      boolean sort​(boolean ascending, boolean force)
      Sorts the list items based on getSortAscending() and getSortDescending().
      void ungroup​(boolean ascending)
      Ungroups and sorts the items (Listitem) based on the ascending.
      protected void updateByClient​(java.lang.String name, java.lang.Object value)  
      • Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent

        addSclass, focus, getAction, getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
      • Methods inherited from class org.zkoss.zk.ui.AbstractComponent

        addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Listheader

        public Listheader()
      • Listheader

        public Listheader​(java.lang.String label)
      • Listheader

        public Listheader​(java.lang.String label,
                          java.lang.String src)
      • Listheader

        public Listheader​(java.lang.String label,
                          java.lang.String src,
                          java.lang.String width)
    • Method Detail

      • getListbox

        public Listbox getListbox()
        Returns the listbox that this belongs to.
      • getValue

        public <T> T getValue()
        Returns the value.

        Default: null.

        Note: the value is application dependent, you can place whatever value you want.

        Since:
        3.6.0
      • setValue

        public <T> void setValue​(T value)
        Sets the value.
        Parameters:
        value - the value.

        Note: the value is application dependent, you can place whatever value you want.

        Since:
        3.6.0
      • getSortDirection

        public java.lang.String getSortDirection()
        Returns the sort direction.

        Default: "natural".

      • setSortDirection

        public void setSortDirection​(java.lang.String sortDir)
                              throws org.zkoss.zk.ui.WrongValueException
        Sets the sort direction. This does not sort the data, it only serves as an indicator as to how the list is sorted. (unless the listbox has "autosort" attribute)

        If you use sort(boolean) to sort list items, the sort direction is maintained automatically. If you want to sort it in customized way, you have to set the sort direction manually.

        Parameters:
        sortDir - one of "ascending", "descending" and "natural"
        Throws:
        org.zkoss.zk.ui.WrongValueException
      • getSortAscending

        public java.util.Comparator getSortAscending()
        Returns the ascending sorter, or null if not available.
      • setSortAscending

        public void setSortAscending​(java.util.Comparator sorter)
        Sets the ascending sorter, or null for no sorter for the ascending order.
        Parameters:
        sorter - the comparator used to sort the ascending order. If you are using the group feature, you can pass an instance of GroupComparator to have a better control. If an instance of GroupComparator is passed, GroupComparator.compareGroup(D, D) is used to group elements, and Comparator.compare(T, T) is used to sort elements with a group. Otherwise, Comparator.compare(T, T) is used to group elements and sort elements within a group.
      • setSortAscending

        public void setSortAscending​(java.lang.String clsnm)
                              throws java.lang.ClassNotFoundException,
                                     java.lang.InstantiationException,
                                     java.lang.IllegalAccessException
        Sets the ascending sorter with the class name, or null for no sorter for the ascending order.
        Throws:
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
      • getSortDescending

        public java.util.Comparator getSortDescending()
        Returns the descending sorter, or null if not available.
      • setSortDescending

        public void setSortDescending​(java.util.Comparator sorter)
        Sets the descending sorter, or null for no sorter for the descending order.
        Parameters:
        sorter - the comparator used to sort the ascending order. If you are using the group feature, you can pass an instance of GroupComparator to have a better control. If an instance of GroupComparator is passed, GroupComparator.compareGroup(D, D) is used to group elements, and Comparator.compare(T, T) is used to sort elements with a group. Otherwise, Comparator.compare(T, T) is used to group elements and sort elements within a group.
      • setSortDescending

        public void setSortDescending​(java.lang.String clsnm)
                               throws java.lang.ClassNotFoundException,
                                      java.lang.InstantiationException,
                                      java.lang.IllegalAccessException
        Sets the descending sorter with the class name, or null for no sorter for the descending order.
        Throws:
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
      • getMaxlength

        public int getMaxlength()
        Returns the maximal length of each item's label.

        Default: 0 (no limit).

      • setMaxlength

        public void setMaxlength​(int maxlength)
        Sets the maximal length of each item's label.

        Default: 0 (no limit).

        Notice that maxlength will be applied to this header and all listcell of the same column.

      • getColumnIndex

        public int getColumnIndex()
        Returns the column index, starting from 0.
      • sort

        public boolean sort​(boolean ascending,
                            boolean force)
        Sorts the list items based on getSortAscending() and getSortDescending().
        Parameters:
        ascending - whether to use getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
        force - whether to enforce the sorting no matter what the sort direction (getSortDirection()) is. If false, this method is the same as sort(boolean).
        Returns:
        whether the rows are sorted.
      • group

        public boolean group​(boolean ascending)
        Groups and sorts the items (Listitem) based on getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
        Parameters:
        ascending - whether to use getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
        Returns:
        whether the rows are grouped.
        Since:
        6.5.0
      • onSort

        public void onSort​(org.zkoss.zk.ui.event.SortEvent event)
        Invokes a sorting action based on a SortEvent and maintains getSortDirection().
        Since:
        6.5.0
      • onGroupLater

        public void onGroupLater​(org.zkoss.zk.ui.event.SortEvent event)
        Internal use only.
        Since:
        6.5.0
      • ungroup

        public void ungroup​(boolean ascending)
        Ungroups and sorts the items (Listitem) based on the ascending. If the corresponding comparator is not set, it returns false and does nothing.
        Parameters:
        ascending - whether to use getSortAscending(). If the corresponding comparator is not set, it returns false and does nothing.
        Since:
        6.5.0
      • getZclass

        public java.lang.String getZclass()
        Overrides:
        getZclass in class org.zkoss.zk.ui.HtmlBasedComponent
      • beforeParentChanged

        public void beforeParentChanged​(org.zkoss.zk.ui.Component parent)
        Specified by:
        beforeParentChanged in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        beforeParentChanged in class org.zkoss.zk.ui.AbstractComponent
      • service

        public void service​(org.zkoss.zk.au.AuRequest request,
                            boolean everError)
        Processes an AU request.

        Default: in addition to what are handled by its superclass, it also handles onSort.

        Specified by:
        service in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        service in class org.zkoss.zk.ui.HtmlBasedComponent
        Since:
        6.5.0
      • renderProperties

        protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)
                                 throws java.io.IOException
        Overrides:
        renderProperties in class HeaderElement
        Throws:
        java.io.IOException
      • clone

        public java.lang.Object clone()
        Specified by:
        clone in interface org.zkoss.zk.ui.Component
        Overrides:
        clone in class LabelImageElement
      • updateByClient

        protected void updateByClient​(java.lang.String name,
                                      java.lang.Object value)
        Overrides:
        updateByClient in class org.zkoss.zk.ui.AbstractComponent