Package org.zkoss.stateless.sul

## Interface IBiglistbox

- All Superinterfaces:
    `IAnyGroup<IBiglistbox>`, `IComponent<IBiglistbox>`, `IHtmlBasedComponent<IBiglistbox>`, `IXulElement<IBiglistbox>`

      public interface IBiglistbox
      extends IXulElement<IBiglistbox>, IAnyGroup<IBiglistbox>

  Immutable `Biglistbox` component

  A component to handle a huge data sets and provides the same and as many as the functionalities of `IListbox` including selection, sorting, keystroke navigation, ROD(rendering-on-demand), and so on.

  ### Support @Action

  Name | Action Type
  --- | ---
  onSelect | ActionData: `SelectData` Represents an action cause by user's the list selection is changed at the client.
  onSort | ActionData: `SortExtData` Represents an action that indicates a sorting request to data for Biglistbox and provides more information about the column index.
  onScroll | ActionData: `ScrollExtData` Represents an action that indicates a sorting request to data for Biglistbox and provides more information about the column index.
  onScrollX | ActionData: `ScrollExtData` Represents an action caused by that user is scrolling or has scrolled the X-axis at the client for Biglistbox component and provides more information about the position X and Y data.
  onScrollY | ActionData: `ScrollExtData` Represents an action caused by that user is scrolling or has scrolled the Y-axis at the client for Biglistbox component and provides more information about the position X and Y data.
  onCellClick | ActionData: `CellClickData` Represents an event that indicates a clicking on a cell data for a matrix data component like Biglistbox, and provides more information about the row index and the column index.

  ### Support Application Library Properties

  - To specify the number of items to preload when receiving the rendering request from the client for this component, you have to specify `withPreloadSize(int)`.

    Or configure it from zk.xml by setting library properties. For example,

          <library-property/>
             <name>org.zkoss.zkmax.zul.biglistbox.preloadSize</name/>
             <value>100</value/>
         </library-property/>

  Author:
    katherine
  See Also:
    `Biglistbox`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `IBiglistbox.Builder` | Builds instances of type `IBiglistbox`.
    `static class` | `IBiglistbox.Updater` | Builds an updater of type `IBiglistbox` for `UiAgent.smartUpdate(Locator, SmartUpdater)`.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static IBiglistbox` | `DEFAULT` | Constant for default attributes of this immutable component.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default int` | `getCols()` | Returns the number of columns within the viewport.
    `default java.lang.String` | `getColWidth()` | Returns the width of the single column
    `default int` | `getFrozenCols()` | Returns the size of the frozen columns.
    `default java.lang.String` | `getOddRowSclass()` | Returns the style class for the odd rows.
    `default int` | `getPreloadSize()` | Returns the number of items to preload when receiving the rendering request from the client.
    `default java.lang.String` | `getRowHeight()` | Returns the height of the single row.
    `default int` | `getRows()` | Returns the rows' size of the viewport.
    `MatrixComparatorProvider<?>` | `getSortAscending()` | Returns the ascending sorter provider, or null if not available.
    `MatrixComparatorProvider<?>` | `getSortDescending()` | Returns the descending sorter provider, or null if not available.
    `default java.lang.String` | `getWidgetClass()` | Returns the client widget class.
    `default boolean` | `isAutoCols()` | Returns whether enables the auto adjusting cols size.
    `default boolean` | `isAutoRows()` | Returns whether enables the auto adjusting rows size.
    `default boolean` | `isFixFrozenCols()` | Returns whether is fix frozen columns, that means user cannot change the size of the frozen columns dynamically.
    `static IBiglistbox` | `ofId​(java.lang.String id)` | Returns the instance with the given id.
    `IBiglistbox` | `withAutoCols​(boolean autoCols)` | Returns a copy of `this` immutable component with the specified `autoCols`.
    `IBiglistbox` | `withAutoRows​(boolean autoRows)` | Returns a copy of `this` immutable component with the specified `autoRows`.
    `IBiglistbox` | `withCols​(int cols)` | Returns a copy of `this` immutable component with the specified `cols`.
    `IBiglistbox` | `withColWidth​(java.lang.String colWidth)` | Returns a copy of `this` immutable component with the specified `colWidth`.
    `IBiglistbox` | `withFixFrozenCols​(boolean fixFrozenCols)` | Returns a copy of `this` immutable component with the specified `fixFrozenCols`.
    `IBiglistbox` | `withFrozenCols​(int frozenCols)` | Returns a copy of `this` immutable component with the specified `frozenCols`.
    `IBiglistbox` | `withOddRowSclass​(java.lang.String oddRowSclass)` | Returns a copy of `this` immutable component with the specified `oddRowSclass`.
    `IBiglistbox` | `withPreloadSize​(int preloadSize)` | Returns a copy of `this` immutable component with the specified `preloadSize`.
    `IBiglistbox` | `withRowHeight​(java.lang.String rowHeight)` | Returns a copy of `this` immutable component with the specified `rowHeight`.
    `IBiglistbox` | `withRows​(int rows)` | Returns a copy of `this` immutable component with the specified `rows`.
    `IBiglistbox` | `withSortAscending​(MatrixComparatorProvider<?> sortAscending)` | Returns a copy of `this` immutable component with the specified `sortAscending`.
    `IBiglistbox` | `withSortDescending​(MatrixComparatorProvider<?> sortDescending)` | Returns a copy of `this` immutable component with the specified `sortDescending`.

    - ### Methods inherited from interface org.zkoss.stateless.sul.IComponent

      `getAction, getActions, getClientAttributes, getId, getMold, getWidgetListeners, getWidgetOverrides, isVisible, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withActions, withActions, withClientAttribute, withClientAttributes, withId, withMold, withVisible, withWidgetClass, withWidgetListener, withWidgetListeners, withWidgetOverride, withWidgetOverrides`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IHtmlBasedComponent

      `getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZIndex, isFocus, withClientAction, withDraggable, withDroppable, withFocus, withHeight, withHflex, withLeft, withRenderdefer, withSclass, withStyle, withTabindex, withTabindex, withTooltiptext, withTop, withVflex, withWidth, withZclass, withZIndex`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IXulElement

      `getContext, getCtrlKeys, getPopup, getTooltip, withContext, withCtrlKeys, withPopup, withTooltip`

- - ### Field Detail

    - #### DEFAULT

          static final IBiglistbox DEFAULT

      Constant for default attributes of this immutable component.

  - ### Method Detail

    - #### getWidgetClass

          default java.lang.String getWidgetClass()

      Returns the client widget class.

      Default: `"zkmax.big.Biglistbox"`

      Specified by:
        `getWidgetClass` in interface `IComponent<IBiglistbox>`

    - #### isAutoCols

          default boolean isAutoCols()

      Returns whether enables the auto adjusting cols size.

      Default: `true`.

    - #### withAutoCols

          IBiglistbox withAutoCols​(boolean autoCols)

      Returns a copy of `this` immutable component with the specified `autoCols`.

      Sets whether enables auto adjusting the number of cols.

      Parameters:
        `autoCols` - Whether enables auto adjusting the number of cols.

        Default: `true`.

      Returns:
        A modified copy of the `this` object

    - #### isAutoRows

          default boolean isAutoRows()

      Returns whether enables the auto adjusting rows size.

      Default: `true`.

    - #### withAutoRows

          IBiglistbox withAutoRows​(boolean autoRows)

      Returns a copy of `this` immutable component with the specified `autoRows`.

      Sets whether enables auto adjusting the number of rows.

      Parameters:
        `autoRows` - Whether enables auto adjusting the number of rows.

        Default: `true`.

      Returns:
        A modified copy of the `this` object

    - #### getFrozenCols

          default int getFrozenCols()

      Returns the size of the frozen columns.

      Default: `0`

    - #### withFrozenCols

          IBiglistbox withFrozenCols​(int frozenCols)

      Returns a copy of `this` immutable component with the specified `frozenCols`.

      Sets the size of the frozen columns

      Parameters:
        `frozenCols` - The size of the frozen columns

        Default: `0`.

      Returns:
        A modified copy of the `this` object

    - #### isFixFrozenCols

          default boolean isFixFrozenCols()

      Returns whether is fix frozen columns, that means user cannot change the size of the frozen columns dynamically.

      Default: `false`

    - #### withFixFrozenCols

          IBiglistbox withFixFrozenCols​(boolean fixFrozenCols)

      Returns a copy of `this` immutable component with the specified `fixFrozenCols`.

      Sets whether is fix frozen columns, that means user cannot change the size of the frozen columns dynamically.

      Parameters:
        `fixFrozenCols` - Whether is fix frozen columns

        Default: `false`.

      Returns:
        A modified copy of the `this` object

    - #### getOddRowSclass

          default java.lang.String getOddRowSclass()

      Returns the style class for the odd rows.

      Default: `IHtmlBasedComponent.getZclass()`-odd.

    - #### withOddRowSclass

          IBiglistbox withOddRowSclass​(java.lang.String oddRowSclass)

      Returns a copy of `this` immutable component with the specified `oddRowSclass`.

      Sets the style class for the odd rows.

      Parameters:
        `oddRowSclass` - The style class for the odd rows.

        Default: `IHtmlBasedComponent.getZclass()`-odd.

      Returns:
        A modified copy of the `this` object

    - #### getPreloadSize

          default int getPreloadSize()

      Returns the number of items to preload when receiving the rendering request from the client.

      Default: `50`, if the `"org.zkoss.zkmax.zul.biglistbox.preloadSize"` library property is not set in zk.xml.

    - #### withPreloadSize

          IBiglistbox withPreloadSize​(int preloadSize)

      Returns a copy of `this` immutable component with the specified `preloadSize`.

      Sets the number of items to preload when receiving the rendering request from the client.

      Parameters:
        `preloadSize` - The number of items to preload.

        Default: `50`, if the `"org.zkoss.zkmax.zul.biglistbox.preloadSize"` library property is not set in zk.xml.

      Returns:
        A modified copy of the `this` object

    - #### getRows

          default int getRows()

      Returns the rows' size of the viewport.

      Default: `30`

    - #### withRows

          IBiglistbox withRows​(int rows)

      Returns a copy of `this` immutable component with the specified `rows`.

      Sets the rows' size of the viewport.

      Parameters:
        `rows` - The rows' size of the viewport.

        Default: `30`

      Returns:
        A modified copy of the `this` object

    - #### getCols

          default int getCols()

      Returns the number of columns within the viewport.

      Default: `30`

    - #### withCols

          IBiglistbox withCols​(int cols)

      Returns a copy of `this` immutable component with the specified `cols`.

      Sets the number of columns within the viewport.

      Parameters:
        `cols` - The number of columns within the viewport.

        Default: `30`

      Returns:
        A modified copy of the `this` object

    - #### getRowHeight

          default java.lang.String getRowHeight()

      Returns the height of the single row.

      Default: `"30px"`

    - #### withRowHeight

          IBiglistbox withRowHeight​(java.lang.String rowHeight)

      Returns a copy of `this` immutable component with the specified `rowHeight`.

      Sets the height of the single row.

      Parameters:
        `rowHeight` - The height of the single row.

        Default: `"30px"`

      Returns:
        A modified copy of the `this` object

    - #### getColWidth

          default java.lang.String getColWidth()

      Returns the width of the single column

      Default: `"60px"`

    - #### withColWidth

          IBiglistbox withColWidth​(java.lang.String colWidth)

      Returns a copy of `this` immutable component with the specified `colWidth`.

      Sets the width of the single column

      Parameters:
        `colWidth` - The width of the single column

        Default: `"60px"`

      Returns:
        A modified copy of the `this` object

    - #### getSortAscending

          @Nullable
          MatrixComparatorProvider<?> getSortAscending()

      Returns the ascending sorter provider, or null if not available.

      Default: `null`

    - #### withSortAscending

          IBiglistbox withSortAscending​(@Nullable
                                        MatrixComparatorProvider<?> sortAscending)

      Returns a copy of `this` immutable component with the specified `sortAscending`.

      Sets the ascending sorter provider, or null if not available.

      Parameters:
        `sortAscending` - The ascending sorter provider

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### getSortDescending

          @Nullable
          MatrixComparatorProvider<?> getSortDescending()

      Returns the descending sorter provider, or null if not available.

      Default: `null`

    - #### withSortDescending

          IBiglistbox withSortDescending​(@Nullable
                                         MatrixComparatorProvider<?> sortDescending)

      Returns a copy of `this` immutable component with the specified `sortDescending`.

      Sets the descending sorter provider, or null if not available.

      Parameters:
        `sortDescending` - The descending sorter provider

        Default: `null`

      Returns:
        A modified copy of the `this` object

    - #### ofId

          static IBiglistbox ofId​(java.lang.String id)

      Returns the instance with the given id.
      Parameters:
        `id` - The id to identify this component.