Class Biglistbox

java.lang.Object
org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zul.impl.XulElement
org.zkoss.zkmax.zul.Biglistbox
All Implemented Interfaces:
Serializable, Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl

public class Biglistbox extends org.zkoss.zul.impl.XulElement
A component to handle a huge data sets and provides the same and as many as the functionalities of Listbox including selection, sorting, keystroke navigation, ROD(rendering-on-demand), and so on.

Event:

  1. SelectEvent is sent when user changes the selection.
  2. ScrollEventExt for onScroll is sent when user changes the scroll position either x or y.
  3. ScrollEventExt for onScrollY is sent when user changes the scroll position y.
  4. ScrollEventExt for onScrollX is sent when user changes the scroll position x.
  5. SortEventExt is sent when user sort the column.
  6. CellClickEvent is sent when user click upon the cell field.
  7. onAfterRender is sent when the model's data has been rendered.

Custom Attributes

org.zkoss.zkmax.zul.biglistbox.preloadSize
.
Specifies the number of items to preload when receiving the rendering request from the client.

Default getZclass(): z-biglistbox.

Note: This component can only support those browsers which support HTML5/CSS3 selector. Like IE8+, Firefox, Safari, Opera, and Chrome.

Since:
6.0.1
Author:
jumperchen
See Also:
  • Nested Class Summary

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

    org.zkoss.zk.ui.HtmlBasedComponent.ExtraCtrl

    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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the number of columns within the viewport.
    Returns the width of the single column
    int
    Returns the size of the frozen columns.
    Returns the matrix renderer.
    MatrixModel<?,?,?,?>
    Returns the matrix model.
    Returns the style class for the odd rows.
    int
    Returns the number of items to preload when receiving the rendering request from the client.
    Return the real matrix renderer, if getMatrixRenderer() is null, the default implementation is assumed.
    Returns the height of the single row.
    int
    Returns the rows' size of the viewport.
    int
    Returns the index of the selected item (-1 if no one is selected).
    Returns the selected object.
    org.zkoss.zul.ext.Sortable
    Returns the sortable model, if any.
    Returns the ascending sorter provider, or null if not available.
    Returns the descending sorter provider, or null if not available.
    The default zclass is "z-biglistbox"
    void
     
    boolean
    Returns whether enables the auto adjusting cols size.
    boolean
    Returns whether enables the auto adjusting rows size.
    protected boolean
     
    boolean
    Returns whether is fix frozen columns, that means user cannot change the size of the frozen columns dynamically.
    void
    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
     
    protected void
    renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)
     
    void
    service(org.zkoss.zk.au.AuRequest request, boolean everError)
     
    void
    sessionDidActivate(org.zkoss.zk.ui.Page page)
     
    void
    sessionWillPassivate(org.zkoss.zk.ui.Page page)
     
    void
    setAutoCols(boolean autoCols)
    Sets whether enables auto adjusting the number of cols.
    void
    setAutoRows(boolean autoRows)
    Sets whether enables auto adjusting the number of rows.
    void
    setCols(int cols)
    Sets the number of columns within the viewport.
    void
    setColWidth(String colWidth)
    Sets the width of the single column.
    void
    setFixFrozenCols(boolean fixFrozenCols)
    Sets to fix the frozen columns, if true, meaning the user cannot change the size of the frozen columns dynamically.
    void
    setFrozenCols(int fcols)
    Sets the size of the frozen columns.
    void
    Sets the matrix renderer from a class string.
    void
    Sets the matrix renderer.
    void
    setModel(MatrixModel<?,?,?,?> model)
    Sets the matrix model.
    void
    Sets the style class for the odd rows.
    void
    setRowHeight(String rowHeight)
    Sets the height of the single row.
    void
    setRows(int rows)
    Sets the rows' size of the viewport.
    void
    Sets the ascending sorter provider with the class name, or null for no sorter for the ascending order.
    void
    Sets the ascending sorter provider, or null for no sorter for the ascending order.
    void
    Sets the descending sorter provider with the class name, or null for no sorter for the descending order.
    void
    Sets the descending sorter provider, or null for no sorter for the descending order.
    boolean
    sort(boolean ascending, int columnIndex)
     

    Methods inherited from class org.zkoss.zul.impl.XulElement

    clone, getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes

    Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent

    addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getSkeleton, 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, setSkeleton, 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, 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, insertBefore, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, 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, 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, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize

    Methods inherited from class java.lang.Object

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

    • Biglistbox

      public Biglistbox()
  • Method Details

    • setAutoCols

      public void setAutoCols(boolean autoCols)
      Sets whether enables auto adjusting the number of cols.

      Default: true.

    • isAutoCols

      public boolean isAutoCols()
      Returns whether enables the auto adjusting cols size.

      Default: true.

    • setAutoRows

      public void setAutoRows(boolean autoRows)
      Sets whether enables auto adjusting the number of rows.

      Default: true.

    • isAutoRows

      public boolean isAutoRows()
      Returns whether enables the auto adjusting rows size.

      Default: true.

    • setFrozenCols

      public void setFrozenCols(int fcols)
      Sets the size of the frozen columns.
      Parameters:
      fcols - the size of the frozen columns, it cannot be negative.
    • getFrozenCols

      public int getFrozenCols()
      Returns the size of the frozen columns.

      Default: 0

    • setFixFrozenCols

      public void setFixFrozenCols(boolean fixFrozenCols)
      Sets to fix the frozen columns, if true, meaning the user cannot change the size of the frozen columns dynamically.
    • isFixFrozenCols

      public boolean isFixFrozenCols()
      Returns whether is fix frozen columns, that means user cannot change the size of the frozen columns dynamically.

      Default: false

    • getSortAscending

      public MatrixComparatorProvider<?> getSortAscending()
      Returns the ascending sorter provider, or null if not available.
    • setSortAscending

      public void setSortAscending(MatrixComparatorProvider<?> sorter)
      Sets the ascending sorter provider, or null for no sorter for the ascending order.
      Parameters:
      sorter - the comparator provider used to return an sorter of the ascending order.
    • setSortAscending

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

      public MatrixComparatorProvider<?> getSortDescending()
      Returns the descending sorter provider, or null if not available.
    • setSortDescending

      public void setSortDescending(MatrixComparatorProvider<?> sorter)
      Sets the descending sorter provider, or null for no sorter for the descending order.
      Parameters:
      sorter - he comparator provider used to return an sorter of the descending order.
    • setSortDescending

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

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

      Default: getZclass()-odd.

    • setOddRowSclass

      public void setOddRowSclass(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.
    • getPreloadSize

      public int getPreloadSize()
      Returns the number of items to preload when receiving the rendering request from the client.

      Default: 50

    • getRows

      public int getRows()
      Returns the rows' size of the viewport.

      Default: 30

    • setRows

      public void setRows(int rows)
      Sets the rows' size of the viewport.

      Default: 30, and it will be adjusted by client engine according with the browser height.

    • getCols

      public int getCols()
      Returns the number of columns within the viewport.

      Default: 30

    • setCols

      public void setCols(int cols)
      Sets the number of columns within the viewport.

      Default: 30, and it will be adjusted by client engine according with the browser width.

    • getRowHeight

      public String getRowHeight()
      Returns the height of the single row.

      Default: 30px

    • setRowHeight

      public void setRowHeight(String rowHeight)
      Sets the height of the single row.

      Default: 32px

    • getColWidth

      public String getColWidth()
      Returns the width of the single column

      Default: 60px

    • setColWidth

      public void setColWidth(String colWidth)
      Sets the width of the single column.

      Default: 60px

    • getModel

      public MatrixModel<?,?,?,?> getModel()
      Returns the matrix model.
    • setModel

      public void setModel(MatrixModel<?,?,?,?> model)
      Sets the matrix model.

      Note: the matrix model must implement Selectable interface

    • onInitRender

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

      public <T> MatrixRenderer<T> getRealMatrixRenderer()
      Return the real matrix renderer, if getMatrixRenderer() is null, the default implementation is assumed.
    • getMatrixRenderer

      public <T> MatrixRenderer<T> getMatrixRenderer()
      Returns the matrix renderer.
    • setMatrixRenderer

      public void setMatrixRenderer(MatrixRenderer<?> renderer)
      Sets the matrix renderer.
    • setMatrixRenderer

      Sets the matrix renderer from a class string.
      Parameters:
      clsnm - the full package name
      Throws:
      ClassNotFoundException
      NoSuchMethodException
      IllegalAccessException
      InstantiationException
      InvocationTargetException
    • invalidate

      public void invalidate()
      Specified by:
      invalidate in interface org.zkoss.zk.ui.Component
      Overrides:
      invalidate in class org.zkoss.zk.ui.AbstractComponent
    • isChildable

      protected boolean isChildable()
      Overrides:
      isChildable in class org.zkoss.zk.ui.AbstractComponent
    • getSelectedIndex

      public int getSelectedIndex()
      Returns the index of the selected item (-1 if no one is selected).
    • getSelectedObject

      public Object getSelectedObject()
      Returns the selected object.
    • renderProperties

      protected void renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer) throws IOException
      Overrides:
      renderProperties in class org.zkoss.zul.impl.XulElement
      Throws:
      IOException
    • getZclass

      public String getZclass()
      The default zclass is "z-biglistbox"
      Overrides:
      getZclass in class org.zkoss.zk.ui.HtmlBasedComponent
    • service

      public void service(org.zkoss.zk.au.AuRequest request, boolean everError)
      Specified by:
      service in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      service in class org.zkoss.zk.ui.HtmlBasedComponent
    • onSort

      public void onSort(SortEventExt event)
    • getSortableModel

      public org.zkoss.zul.ext.Sortable getSortableModel()
      Returns the sortable model, if any.
    • sort

      public boolean sort(boolean ascending, int columnIndex)
    • 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
    • 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