Package org.zkoss.zul

Class Grid

  • 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, Paginated

    public class Grid
    extends MeshElement
    A grid is an element that contains both rows and columns elements. It is used to create a grid of elements. Both the rows and columns are displayed at once although only one will typically contain content, while the other may provide size information.

    Events: onAfterRender
    onAfterRender is sent when the model's data has been rendered.(since 5.0.4)

    Besides creating Row programmatically, you can assign a data model (a ListModel or GroupsModel instance) to a grid via setModel(ListModel) or setModel(GroupsModel) and then the grid will retrieve data by calling ListModel.getElementAt(int) when necessary.

    Besides assign a list model, you could assign a renderer (a RowRenderer instance) to a grid, such that the grid will use this renderer to render the data returned by ListModel.getElementAt(int). If not assigned, the default renderer, which assumes a label per row, is used. In other words, the default renderer adds a label to a row by calling toString against the object returned by ListModel.getElementAt(int)

    There are two ways to handle long content: scrolling and paging. If AbstractComponent.getMold() is "default", scrolling is used if setHeight(java.lang.String) is called and too much content to display. If AbstractComponent.getMold() is "paging", paging is used if two or more pages are required. To control the number of rows to display in a page, use setPageSize(int).

    If paging is used, the page controller is either created automatically or assigned explicitly by setPaginal(org.zkoss.zul.ext.Paginal). The paging controller specified explicitly by setPaginal(org.zkoss.zul.ext.Paginal) is called the external page controller. It is useful if you want to put the paging controller at different location (other than as a child component), or you want to use the same controller to control multiple grids.

    Default getZclass(): z-grid.(since 3.5.0)

    To have a grid without stripping, you can specify a non-existent style class to setOddRowSclass(java.lang.String).

    Clustering and Serialization

    When used in a clustering environment, you have to make RowRenderer (setRowRenderer(org.zkoss.zul.RowRenderer<?>)) and ListModel (setModel(org.zkoss.zul.ListModel<?>)) either serializable or re-assign them when sessionDidActivate(org.zkoss.zk.ui.Page) is called.

    Render on Demand (rod)

    [ZK EE] [Since 5.0.0]

    For huge data, you can turn on Grid's ROD to request ZK engine to load from ListModel only the required data chunk and create only the required Rows in memory and render only the required DOM elements in browser. So it saves both the memory and the processing time in both server and browser for huge data. If you don't use the ListModel with the Grid, turn on the ROD will still have ZK engine to render only a chunk of DOM elements in browser so it at least saves the memory and processing time in browser. Note that ROD works only if the Grid is configured to has a limited "view port" height. That is, either the Grid is in the "paging" mold or you have to setHeight(String) or setVflex(String) of the Grid to make ROD works.

    You can turn on/off ROD for all Grids in the application or only for a specific Grid. To turn on ROD for all Grids in the application, you have to specify the Library Property "org.zkoss.zul.grid.rod" to "true" in WEB-INF/zk.xml. If you did not specify the Library Property, default is false.

    
    	<library-property>
    		<name>org.zkoss.zul.grid.rod</name>
    		<value>true</value>
    	</library-property>
     

    To turn on ROD for a specific Grid, you have to specify the Grid's attribute map with key "org.zkoss.zul.grid.rod" to true. That is, for example, if in a zul file, you shall specify <custom-attributes> of the Grid like this:

    
    	<grid ...>
        <custom-attributes org.zkoss.zul.grid.rod="true"/>
      </grid>
     

    You can mix the Library Property and <custom-attributes> ways together. The <custom-attributes> way always takes higher priority. So you can turn OFF ROD in general and turn ON only some specific Grid component. Or you can turn ON ROD in general and turn OFF only some specific Grid component.

    Since only partial Rows are created and rendered in the Grid if you turn the ROD on, there will be some limitations on accessing Rows. For example, if you call

    
     Row rowAt100 = (Row) getRows().getChildren().get(100);
     

    The Row in index 100 is not necessary created yet if it is not in the current "view port" and you will get "null" instead.

    And it is generally a bad idea to "cache" the created Row in your application if you turn the ROD on because rows might be removed later. Basically, you shall operate on the item of the ListModel rather than on the Row if you use the ListModel and ROD.

    Custom Attributes

    org.zkoss.zul.grid.rod
    Specifies whether to enable ROD (render-on-demand).
    Notice that you could specify this attribute in any of its ancestor's attributes. It will be inherited.
    org.zkoss.zul.grid.autoSort
    .(since 5.0.7)
    Specifies whether to sort the model when the following cases:
    1. setModel(org.zkoss.zul.ListModel<?>) is called and Column.setSortDirection(java.lang.String) is set.
    2. Column.setSortDirection(java.lang.String) is called.
    3. Model receives ListDataEvent and Column.setSortDirection(java.lang.String) is set.
    If you want to ignore sort when receiving ListDataEvent, you can specifies the value as "ignore.change".
    Notice that you could specify this attribute in any of its ancestor's attributes. It will be inherited.
    org.zkoss.zul.grid.preloadSize
    .(since 5.0.8)
    Specifies the number of rows to preload when receiving the rendering request from the client.

    It is used only if live data (setModel(ListModel) and not paging (getPagingChild()).

    org.zkoss.zul.grid.initRodSize
    .(since 5.0.8)
    Specifies the number of rows rendered when the Grid first render.

    It is used only if live data (setModel(ListModel) and not paging (getPagingChild()).

    Author:
    tomyeh
    See Also:
    ListModel, RowRenderer, RowRendererExt, Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  Grid.ExtraCtrl
      A utility class to implement HtmlBasedComponent.getExtraCtrl().
      • 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
      Grid()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void beforeChildAdded​(org.zkoss.zk.ui.Component newChild, org.zkoss.zk.ui.Component refChild)  
      java.lang.Object clone()  
      org.zkoss.zk.ui.Component getCell​(int row, int col)
      Returns the specified cell, or null if not available.
      Columns getColumns()
      Returns the columns.
      java.lang.String getEmptyMessage()
      Returns the message to display when there are no items
      java.lang.Object getExtraCtrl()  
      Foot getFoot()
      Returns the foot.
      Frozen getFrozen()
      Returns the frozen child.
      <D,​G,​F>
      GroupsModel<D,​G,​F>
      getGroupsModel()
      Returns the groups model associated with this grid, or null if this grid is associated with a ListModel or not associated with any list data model.
      java.util.Collection<org.zkoss.zk.ui.Component> getHeads()
      Returns a collection of heads, including getColumns() and auxiliary heads (Auxhead) (never null).
      java.lang.String getInnerWidth()
      Returns the inner width of this component.
      <T> ListModel<T> getListModel()
      Returns the list model associated with this grid, or null if this grid is associated with a GroupsModel or not associated with any list data model.
      <T> ListModel<T> getModel()
      Returns the model associated with this grid, or null if this grid is not associated with any list data model.
      java.lang.String getOddRowSclass()
      Returns the style class for the odd rows.
      Paginal getPaginal()
      Returns the paging controller, or null if not available.
      Paging getPagingChild()
      Returns the child paging controller that is created automatically, or null if mold is not "paging", or the controller is specified externally by setPaginal(org.zkoss.zul.ext.Paginal).
      org.zkoss.zk.ui.sys.PropertyAccess getPropertyAccess​(java.lang.String prop)  
      <T> RowRenderer<T> getRowRenderer()
      Returns the renderer to render each row, or null if the default renderer is used.
      Rows getRows()
      Returns the rows.
      int getVisibleRows()
      Returns the visible rows.
      java.lang.String getZclass()  
      boolean insertBefore​(org.zkoss.zk.ui.Component newChild, org.zkoss.zk.ui.Component refChild)  
      protected boolean isAutohidePaging()  
      boolean isVflex()
      Returns whether to grow and shrink vertical to fit their given space, so called vertical flexibility.
      void onAfterRender()  
      void onInitRender()
      Handles a private event, onInitRender.
      void onPageAttached​(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)  
      void onPageDetached​(org.zkoss.zk.ui.Page page)  
      void onPagingInitRender()
      Handles a private event, onPagingInitRender.
      protected Paginal pgi()
      Returns the instance of the @{link Paginal}
      boolean removeChild​(org.zkoss.zk.ui.Component child)  
      void renderAll()
      Renders all Row if not loaded yet, with getRowRenderer().
      void renderItems​(java.util.Set<? extends Row> rows)  
      protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)  
      void renderRow​(Row row)
      Renders the specified Row if not loaded yet, with getRowRenderer().
      void renderRows​(java.util.Set<? extends Row> rows)
      Renders a set of specified rows.
      void scrollToIndex​(int index)
      Scroll to the specified row by the given index.
      void service​(org.zkoss.zk.au.AuRequest request, boolean everError)
      Processes an AU request.
      void sessionDidActivate​(org.zkoss.zk.ui.Page page)  
      void sessionWillPassivate​(org.zkoss.zk.ui.Page page)  
      void setActivePage​(int pg)
      Sets the active page (starting from 0).
      void setEmptyMessage​(java.lang.String emptyMessage)
      Sets the message to display when there are no items
      void setHeight​(java.lang.String height)  
      void setInnerWidth​(java.lang.String innerWidth)
      Sets the inner width of this component.
      void setModel​(GroupsModel<?,​?,​?> model)
      Sets the groups model associated with this grid.
      void setModel​(ListModel<?> model)
      Sets the list model associated with this grid.
      void setMold​(java.lang.String mold)
      Sets the mold to render this component.
      void setOddRowSclass​(java.lang.String scls)
      Sets the style class for the odd rows.
      void setPageSize​(int pgsz)
      Sets the page size, a.k.a., the number rows per page.
      void setPaginal​(Paginal pgi)
      Specifies the paging controller.
      void setRowRenderer​(java.lang.String clsnm)
      Sets the renderer by use of a class name.
      void setRowRenderer​(RowRenderer<?> renderer)
      Sets the renderer which is used to render each row if getModel() is not null.
      void setVflex​(boolean vflex)
      Sets whether to grow and shrink vertical to fit their given space, so called vertical flexibility.
      void setVflex​(java.lang.String flex)  
      void setVisibleRows​(int visibleRows)
      Sets the visible rows.
      • 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, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, 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, beforeChildRemoved, beforeParentChanged, 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, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
      • Methods inherited from class java.lang.Object

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

      • Grid

        public Grid()
    • Method Detail

      • 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
      • 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
      • isVflex

        public boolean isVflex()
        Returns whether to grow and shrink vertical to fit their given space, so called vertical flexibility.

        Default: false.

        Since:
        3.5.0
      • setVflex

        public void setVflex​(boolean vflex)
        Sets whether to grow and shrink vertical to fit their given space, so called vertical flexibility.
        Since:
        3.5.0
      • setVflex

        public void setVflex​(java.lang.String flex)
        Overrides:
        setVflex in class org.zkoss.zk.ui.HtmlBasedComponent
      • getRows

        public Rows getRows()
        Returns the rows.
      • getColumns

        public Columns getColumns()
        Returns the columns.
      • getFoot

        public Foot getFoot()
        Returns the foot.
      • getFrozen

        public Frozen getFrozen()
        Returns the frozen child.
        Since:
        5.0.0
      • getHeads

        public java.util.Collection<org.zkoss.zk.ui.Component> getHeads()
        Returns a collection of heads, including getColumns() and auxiliary heads (Auxhead) (never null).
        Since:
        3.0.0
      • getCell

        public org.zkoss.zk.ui.Component getCell​(int row,
                                                 int col)
        Returns the specified cell, or null if not available.
        Parameters:
        row - which row to fetch (starting at 0).
        col - which column to fetch (starting at 0).
      • getVisibleRows

        public int getVisibleRows()
        Returns the visible rows. Zero means no limitation.

        Default: 0.

        Since:
        8.5.0
      • setVisibleRows

        public void setVisibleRows​(int visibleRows)
                            throws org.zkoss.zk.ui.WrongValueException
        Sets the visible rows.

        Note: Not allowed to set visibleRows and height/vflex at the same time

        Throws:
        org.zkoss.zk.ui.WrongValueException
        Since:
        8.5.0
      • setHeight

        public void setHeight​(java.lang.String height)
        Overrides:
        setHeight in class org.zkoss.zk.ui.HtmlBasedComponent
      • getPaginal

        public Paginal getPaginal()
        Returns the paging controller, or null if not available. Note: the paging controller is used only if AbstractComponent.getMold() is "paging".

        If mold is "paging", this method never returns null, because a child paging controller is created automatically (if not specified by developers with setPaginal(org.zkoss.zul.ext.Paginal)).

        If a paging controller is specified (either by setPaginal(org.zkoss.zul.ext.Paginal), or by setMold(java.lang.String) with "paging"), the grid will rely on the paging controller to handle long-content instead of scrolling.

      • setPaginal

        public void setPaginal​(Paginal pgi)
        Specifies the paging controller. Note: the paging controller is used only if AbstractComponent.getMold() is "paging".

        It is OK, though without any effect, to specify a paging controller even if mold is not "paging".

        Parameters:
        pgi - the paging controller. If null and AbstractComponent.getMold() is "paging", a paging controller is created automatically as a child component (see getPagingChild()).
      • getPagingChild

        public Paging getPagingChild()
        Returns the child paging controller that is created automatically, or null if mold is not "paging", or the controller is specified externally by setPaginal(org.zkoss.zul.ext.Paginal).
        Since:
        3.0.7
      • pgi

        protected Paginal pgi()
        Description copied from class: MeshElement
        Returns the instance of the @{link Paginal}
        Specified by:
        pgi in class MeshElement
      • getListModel

        public <T> ListModel<T> getListModel()
        Returns the list model associated with this grid, or null if this grid is associated with a GroupsModel or not associated with any list data model.
        Since:
        3.5.0
        See Also:
        setModel(ListModel)
      • getGroupsModel

        public <D,​G,​F> GroupsModel<D,​G,​F> getGroupsModel()
        Returns the groups model associated with this grid, or null if this grid is associated with a ListModel or not associated with any list data model.
        Since:
        3.5.0
        See Also:
        setModel(GroupsModel)
      • setModel

        public void setModel​(ListModel<?> model)
        Sets the list model associated with this grid. If a non-null model is assigned, no matter whether it is the same as the previous, it will always cause re-render.
        Parameters:
        model - the list model to associate, or null to dissociate any previous model.
        Throws:
        org.zkoss.zk.ui.UiException - if failed to initialize with the model
        See Also:
        getListModel(), setModel(GroupsModel)
      • setModel

        public void setModel​(GroupsModel<?,​?,​?> model)
        Sets the groups model associated with this grid. If a non-null model is assigned, no matter whether it is the same as the previous, it will always cause re-render.

        The groups model is used to represent a list of data with grouping.

        Parameters:
        model - the groups model to associate, or null to dissociate any previous model.
        Throws:
        org.zkoss.zk.ui.UiException - if failed to initialize with the model
        Since:
        3.5.0
        See Also:
        setModel(ListModel), getGroupsModel()
      • getRowRenderer

        public <T> RowRenderer<T> getRowRenderer()
        Returns the renderer to render each row, or null if the default renderer is used.
      • setRowRenderer

        public void setRowRenderer​(RowRenderer<?> renderer)
        Sets the renderer which is used to render each row if getModel() is not null.

        Note: changing a render will not cause the grid to re-render. If you want it to re-render, you could assign the same model again (i.e., setModel(getModel())), or fire an ListDataEvent event.

        Parameters:
        renderer - the renderer, or null to use the default.
        Throws:
        org.zkoss.zk.ui.UiException - if failed to initialize with the model
      • setRowRenderer

        public void setRowRenderer​(java.lang.String clsnm)
                            throws java.lang.ClassNotFoundException,
                                   java.lang.NoSuchMethodException,
                                   java.lang.IllegalAccessException,
                                   java.lang.InstantiationException,
                                   java.lang.reflect.InvocationTargetException
        Sets the renderer by use of a class name. It creates an instance automatically.
        Throws:
        java.lang.ClassNotFoundException
        java.lang.NoSuchMethodException
        java.lang.IllegalAccessException
        java.lang.InstantiationException
        java.lang.reflect.InvocationTargetException
      • setInnerWidth

        public void setInnerWidth​(java.lang.String innerWidth)
        Sets the inner width of this component. The inner width is the width of the inner table. By default, it is 100%. That is, it is the same as the width of this component. However, it is changed when the user is sizing the column's width.

        Application developers rarely call this method, unless they want to preserve the widths of sizable columns changed by the user. To preserve the widths, the developer have to store the widths of all columns and the inner width (getInnerWidth()), and then restore them when re-creating this component.

        Parameters:
        innerWidth - the inner width. If null, "100%" is assumed.
        Since:
        3.0.0
      • getInnerWidth

        public java.lang.String getInnerWidth()
        Returns the inner width of this component. The inner width is the width of the inner table.

        Default: "100%"

        Since:
        3.0.0
        See Also:
        setInnerWidth(java.lang.String)
      • onInitRender

        public void onInitRender()
        Handles a private event, onInitRender. It is used only for implementation, and you rarely need to invoke it explicitly.
      • onPagingInitRender

        public void onPagingInitRender()
        Handles a private event, onPagingInitRender. It is used only for implementation, and you rarely need to invoke it explicitly.
      • renderRow

        public void renderRow​(Row row)
        Renders the specified Row if not loaded yet, with getRowRenderer().

        It does nothing if getModel() returns null. In other words, it is meaningful only if live data model is used.

      • renderAll

        public void renderAll()
        Renders all Row if not loaded yet, with getRowRenderer().
      • renderItems

        public void renderItems​(java.util.Set<? extends Row> rows)
      • getOddRowSclass

        public java.lang.String getOddRowSclass()
        Returns the style class for the odd rows.

        Default: getZclass()-odd. (since 3.5.0)

        Since:
        3.0.0
      • setOddRowSclass

        public void setOddRowSclass​(java.lang.String scls)
        Sets the style class for the odd rows. If the style class doesn't exist, the striping effect disappears. You can provide different effects by providing the proper style classes.
        Since:
        3.0.0
      • setMold

        public void setMold​(java.lang.String mold)
        Sets the mold to render this component.
        Specified by:
        setMold in interface org.zkoss.zk.ui.Component
        Overrides:
        setMold in class org.zkoss.zk.ui.AbstractComponent
        Parameters:
        mold - the mold. If null or empty, "default" is assumed. Allowed values: default, paging
        See Also:
        ComponentDefinition
      • getZclass

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

        public void beforeChildAdded​(org.zkoss.zk.ui.Component newChild,
                                     org.zkoss.zk.ui.Component refChild)
        Specified by:
        beforeChildAdded in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        beforeChildAdded in class org.zkoss.zk.ui.AbstractComponent
      • insertBefore

        public boolean insertBefore​(org.zkoss.zk.ui.Component newChild,
                                    org.zkoss.zk.ui.Component refChild)
        Specified by:
        insertBefore in interface org.zkoss.zk.ui.Component
        Overrides:
        insertBefore in class org.zkoss.zk.ui.AbstractComponent
      • removeChild

        public boolean removeChild​(org.zkoss.zk.ui.Component child)
        Specified by:
        removeChild in interface org.zkoss.zk.ui.Component
        Overrides:
        removeChild in class org.zkoss.zk.ui.AbstractComponent
      • clone

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

        public java.lang.String getEmptyMessage()
        Returns the message to display when there are no items
        Returns:
        String
        Since:
        5.0.7
      • setEmptyMessage

        public void setEmptyMessage​(java.lang.String emptyMessage)
        Sets the message to display when there are no items
        Parameters:
        emptyMessage -
        Since:
        5.0.7
      • renderProperties

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

        public void sessionWillPassivate​(org.zkoss.zk.ui.Page page)
        Specified by:
        sessionWillPassivate in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        sessionWillPassivate in class org.zkoss.zk.ui.AbstractComponent
      • sessionDidActivate

        public void sessionDidActivate​(org.zkoss.zk.ui.Page page)
        Specified by:
        sessionDidActivate in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        sessionDidActivate in class org.zkoss.zk.ui.AbstractComponent
      • getExtraCtrl

        public java.lang.Object getExtraCtrl()
        Specified by:
        getExtraCtrl in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        getExtraCtrl in class org.zkoss.zk.ui.HtmlBasedComponent
      • getPropertyAccess

        public org.zkoss.zk.ui.sys.PropertyAccess getPropertyAccess​(java.lang.String prop)
        Specified by:
        getPropertyAccess in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        getPropertyAccess in class XulElement
      • service

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

        Default: in addition to what are handled by HtmlBasedComponent.service(AuRequest, boolean), it also handles onSelect.

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

        public void setActivePage​(int pg)
                           throws org.zkoss.zk.ui.WrongValueException
        Description copied from class: MeshElement
        Sets the active page (starting from 0).
        Overrides:
        setActivePage in class MeshElement
        Throws:
        org.zkoss.zk.ui.WrongValueException
      • setPageSize

        public void setPageSize​(int pgsz)
                         throws org.zkoss.zk.ui.WrongValueException
        Description copied from class: MeshElement
        Sets the page size, a.k.a., the number rows per page.
        Overrides:
        setPageSize in class MeshElement
        Throws:
        org.zkoss.zk.ui.WrongValueException
      • onAfterRender

        public void onAfterRender()
      • scrollToIndex

        public void scrollToIndex​(int index)
        Scroll to the specified row by the given index.
        Parameters:
        index - the index of row
        Since:
        8.5.2