Package org.zkoss.zkmax.zul.impl

## Class LiveGridDataLoader

- java.lang.Object
- - org.zkoss.zul.impl.GridDataLoader
  - - org.zkoss.zkmax.zul.impl.LiveGridDataLoader

- All Implemented Interfaces:
    `Cropper`, `DataLoader`

      public class LiveGridDataLoader
      extends GridDataLoader

  Data Loader that handle the live data loading into Grid.

  Available in ZK EE

  Since:
    6.0.1
  Author:
    henrichen

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LiveGridDataLoader()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `doListDataChange​(ListDataEvent event)` | Handle event when ListDataEvent is fired from owner component.
    `java.util.Set<? extends Component>` | `getAvailableAtClient()` | Returns a set of child components that are available at the client, or null if ALL available.
    `int` | `getLimit()` | Returns the required visible limit size of the current loaded data chunk to be shown on the screen.
    `int` | `getOffset()` | Returns the requested visible offset of the current loaded data chunk.
    `void` | `init​(Component owner, int offset, int limit)` | Callback from the owner component and give a chance to initialize things.
    `boolean` | `isCropper()` | Returns whether it is a cropper, i.e., cropping is applied.
    `void` | `reset()` | Callback from the owner component and give a chance to reset things.
    `void` | `setLoadAll​(boolean b)` | Sets whether to always load all items from ListModel.
    `void` | `syncModel​(int offset, int limit)` | Synchronizes the owner component to be consistent with the specified model.
    `void` | `updateModelInfo()` | Used to update some extra control information to the client.

    - ### Methods inherited from class org.zkoss.zul.impl.GridDataLoader

      `doGroupsDataChange, getAvailableAtClient, getCropOwner, getOwner, getRealRenderer, getTotalSize, inPagingMold, newUnloadedItem`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LiveGridDataLoader

          public LiveGridDataLoader()

  - ### Method Detail

    - #### init

          public void init​(Component owner,
                           int offset,
                           int limit)

      Description copied from interface: `DataLoader`
      Callback from the owner component and give a chance to initialize things.
      Specified by:
        `init` in interface `DataLoader`
      Overrides:
        `init` in class `GridDataLoader`
      Parameters:
        `owner` - the owner component of this DataLoader.

    - #### reset

          public void reset()

      Description copied from interface: `DataLoader`
      Callback from the owner component and give a chance to reset things.
      Specified by:
        `reset` in interface `DataLoader`
      Overrides:
        `reset` in class `GridDataLoader`

    - #### getOffset

          public int getOffset()

      Description copied from interface: `DataLoader`
      Returns the requested visible offset of the current loaded data chunk.
      Specified by:
        `getOffset` in interface `DataLoader`
      Overrides:
        `getOffset` in class `GridDataLoader`
      Returns:
        the requested visible offset of the current loaded data chunk.

    - #### getLimit

          public int getLimit()

      Description copied from interface: `DataLoader`
      Returns the required visible limit size of the current loaded data chunk to be shown on the screen.
      Specified by:
        `getLimit` in interface `DataLoader`
      Overrides:
        `getLimit` in class `GridDataLoader`
      Returns:
        the required visible limit size of the current loaded data chunk to be shown on the screen.

    - #### doListDataChange

          public void doListDataChange​(ListDataEvent event)

      Description copied from interface: `DataLoader`
      Handle event when ListDataEvent is fired from owner component.
      Specified by:
        `doListDataChange` in interface `DataLoader`
      Overrides:
        `doListDataChange` in class `GridDataLoader`

    - #### syncModel

          public void syncModel​(int offset,
                                int limit)

      Description copied from interface: `DataLoader`
      Synchronizes the owner component to be consistent with the specified model.
      Specified by:
        `syncModel` in interface `DataLoader`
      Overrides:
        `syncModel` in class `GridDataLoader`
      Parameters:
        `offset` - the starting index of the range to do data synchronize.
        `limit` - the size of the range to do data synchronize. -1 means the current range.

    - #### updateModelInfo

          public void updateModelInfo()

      Description copied from interface: `DataLoader`
      Used to update some extra control information to the client.
      Specified by:
        `updateModelInfo` in interface `DataLoader`
      Overrides:
        `updateModelInfo` in class `GridDataLoader`

    - #### setLoadAll

          public void setLoadAll​(boolean b)

      Description copied from interface: `DataLoader`
      Sets whether to always load all items from ListModel.
      Specified by:
        `setLoadAll` in interface `DataLoader`
      Overrides:
        `setLoadAll` in class `GridDataLoader`

    - #### isCropper

          public boolean isCropper()

      Description copied from interface: `Cropper`
      Returns whether it is a cropper, i.e., cropping is applied.

      Note: this method is called when an child is detached, so you have to count one more for the total number of children. Example <= must be used, not <:
      `getChildCount() <= getPageSize()`

      The result of returning false is the same as not declaring with `Cropper`.

      Specified by:
        `isCropper` in interface `Cropper`
      Overrides:
        `isCropper` in class `GridDataLoader`

    - #### getAvailableAtClient

          public java.util.Set<? extends Component> getAvailableAtClient()

      Description copied from interface: `Cropper`
      Returns a set of child components that are available at the client, or null if ALL available. The child components in the returned set must be in the same order of `Component.getChildren()`. In order words, you must use LinkedHashSet or similar to ensure the order in the returned set.

      Note: for better performance, it is better to return null if all children are available at the client.

      Note: the components in the returned set can have different parents. It is useful if you want to implement multi-level cropping, such as tree. Refer to `Cropper.getCropOwner()`.

      Specified by:
        `getAvailableAtClient` in interface `Cropper`
      Overrides:
        `getAvailableAtClient` in class `GridDataLoader`