Class Biglistbox

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Component, Scope, ComponentCtrl

    public class Biglistbox
    extends 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:
    Serialized Form
    • Constructor Detail

      • Biglistbox

        public Biglistbox()
    • Method Detail

      • 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​(java.lang.String clsnm)
                              throws java.lang.ClassNotFoundException,
                                     java.lang.InstantiationException,
                                     java.lang.IllegalAccessException
        Sets the ascending sorter provider 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 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​(java.lang.String clsnm)
                               throws java.lang.ClassNotFoundException,
                                      java.lang.InstantiationException,
                                      java.lang.IllegalAccessException
        Sets the descending sorter provider with the class name, or null for no sorter for the descending order.
        Throws:
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
      • getOddRowSclass

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

        Default: getZclass()-odd.

      • 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.
      • 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 java.lang.String getRowHeight()
        Returns the height of the single row.

        Default: 30px

      • setRowHeight

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

        Default: 32px

      • getColWidth

        public java.lang.String getColWidth()
        Returns the width of the single column

        Default: 60px

      • setColWidth

        public void setColWidth​(java.lang.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

        public void setMatrixRenderer​(java.lang.String clsnm)
                               throws java.lang.ClassNotFoundException,
                                      java.lang.NoSuchMethodException,
                                      java.lang.IllegalAccessException,
                                      java.lang.InstantiationException,
                                      java.lang.reflect.InvocationTargetException
        Sets the matrix renderer from a class string.
        Parameters:
        clsnm - the full package name
        Throws:
        java.lang.ClassNotFoundException
        java.lang.NoSuchMethodException
        java.lang.IllegalAccessException
        java.lang.InstantiationException
        java.lang.reflect.InvocationTargetException
      • invalidate

        public void invalidate()
        Description copied from interface: Component
        Invalidates this component by setting the dirty flag such that it will be redraw the whole content of this component and its dependencies later. And, the widget associated with this component and all its descendant at the client will be deleted and recreated, too.

        If the application is totally controlled by the server side (i.e., you don't write client codes), you rarely need to access this method.

        It can be called only in the request-processing and event-processing phases. However, it is NOT allowed in the rendering phase.

        Specified by:
        invalidate in interface Component
        Overrides:
        invalidate in class AbstractComponent
      • isChildable

        protected boolean isChildable()
        Description copied from class: AbstractComponent
        Returns whether this component can have a child.

        Default: return true (means it can have children).

        Overrides:
        isChildable in class AbstractComponent
      • getSelectedIndex

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

        public java.lang.Object getSelectedObject()
        Returns the selected object.
      • getSortableModel

        public Sortable getSortableModel()
        Returns the sortable model, if any.
      • sort

        public boolean sort​(boolean ascending,
                            int columnIndex)