com.holonplatform.vaadin.components.builders

## Interface ItemListingBuilder.BaseTableItemListingBuilder<T,P,C extends ItemListing<T,P>,B extends ItemListingBuilder.BaseTableItemListingBuilder<T,P,C,B>>

- Type Parameters:
    `T` - Item data type
    `P` - Item property type
    `C` - Component type
    `B` - Concrete builder type
  All Superinterfaces:
    BaseItemDataSourceComponentBuilder<B>, ComponentBuilder<C,B>, ComponentConfigurator<B>, ComponentPostProcessorSupport<com.vaadin.ui.Table,B>, ItemDataSourceComponentBuilder<T,C,B>, ItemListingBuilder<T,P,C,B,com.vaadin.ui.Table>
  All Known Subinterfaces:
    ItemListingBuilder.TableItemListingBuilder<T>, PropertyListingBuilder.TablePropertyListingBuilder
  Enclosing interface:
    ItemListingBuilder<T,P,C extends ItemListing<T,P>,B extends ItemListingBuilder<T,P,C,B,X>,X extends com.vaadin.ui.Component>

      public static interface ItemListingBuilder.BaseTableItemListingBuilder<T,P,C extends ItemListing<T,P>,B extends ItemListingBuilder.BaseTableItemListingBuilder<T,P,C,B>>
      extends ItemListingBuilder<T,P,C,B,com.vaadin.ui.Table>

  Base builder to create an `ItemListing` with a `Table` as backing component.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.components.builders.ItemListingBuilder

      `ItemListingBuilder.BaseGridItemListingBuilder<T,P,C extends ItemListing<T,P>,B extends ItemListingBuilder.BaseGridItemListingBuilder<T,P,C,B>>, ItemListingBuilder.BaseTableItemListingBuilder<T,P,C extends ItemListing<T,P>,B extends ItemListingBuilder.BaseTableItemListingBuilder<T,P,C,B>>, ItemListingBuilder.FooterBuilder, ItemListingBuilder.GridFooterGenerator<T,P>, ItemListingBuilder.GridItemListingBuilder<T>, ItemListingBuilder.GridSection<ROWTYPE extends com.vaadin.ui.Grid.StaticSection.StaticRow<?>>, ItemListingBuilder.HeaderBuilder, ItemListingBuilder.TableFooterGenerator<T,P>, ItemListingBuilder.TableItemListingBuilder<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.components.builders.ComponentConfigurator

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `B` | `cacheRate(double cacheRate)` Set the table rows cache rate.
    `B` | `dragMode(com.vaadin.ui.Table.TableDragMode dragMode)` Sets the drag start mode of the Table.
    `B` | `dropHandler(com.vaadin.event.dd.DropHandler dropHandler)` Set the handler to manage drops on table.
    `B` | `expandRatio(P property, float expandRatio)` Set the expand ratio of the column which corresponds to given property.
    `B` | `footer(ItemListingBuilder.TableFooterGenerator<T,P> footerGenerator)` Set a `ItemListingBuilder.TableFooterGenerator` to generate table footer contents every time row set changes.
    `B` | `icon(P property, com.vaadin.server.Resource icon)` Set the header icon for the column which corresponds to given property.
    `B` | `pageLength(int pageLength)` Sets the page length.
    `B` | `rowGenerator(com.vaadin.ui.Table.RowGenerator rowGenerator)` Set the table row generator
    `B` | `withActionHandler(com.vaadin.event.Action.Handler actionHandler)` Add an `Action` handler to table.
    `B` | `withFooterClickListener(com.vaadin.ui.Table.FooterClickListener listener)` Adds a `Table.FooterClickListener` that gets notified when footer is clicked.
    `B` | `withHeaderClickListener(com.vaadin.ui.Table.HeaderClickListener listener)` Adds a `Table.HeaderClickListener` that gets notified when a column header is clicked.

    - ### Methods inherited from interface com.holonplatform.vaadin.components.builders.ItemListingBuilder

      `alignment, buffered, build, build, columnHidingAllowed, columnReorderingAllowed, commitHandler, defaultValue, editable, editable, editor, footerVisible, header, header, header, hidable, hidden, hideHeaders, itemDescriptionGenerator, readOnly, selectionMode, sortable, sortGenerator, sortUsing, style, style, width, withItemClickListener, withPropertyReorderListener, withPropertyResizeListener, withPropertyVisibilityListener, withRowStyle, withSelectionListener`

    - ### Methods inherited from interface com.holonplatform.vaadin.components.builders.ItemDataSourceComponentBuilder

      `dataSource, dataSource, itemAdapter`

    - ### Methods inherited from interface com.holonplatform.vaadin.components.builders.BaseItemDataSourceComponentBuilder

      `autoRefresh, batchSize, defaultSort, fixedFilter, fixedSort, maxCacheSize, queryParameter, withQueryConfigurationProvider`

    - ### Methods inherited from interface com.holonplatform.vaadin.components.builders.ComponentBuilder

      `build, deferLocalization`

    - ### Methods inherited from interface com.holonplatform.vaadin.components.builders.ComponentConfigurator

      `caption, caption, caption, captionAsHtml, description, description, description, disabled, errorHandler, fullHeight, fullSize, fullWidth, height, height, heightUndefined, hidden, icon, id, immediate, notVisible, primaryStyleName, replaceStyleName, responsive, sizeUndefined, styleName, width, width, widthUndefined, withAttachListener, withContextClickListener, withData, withDetachListener, withShortcutListener`

    - ### Methods inherited from interface com.holonplatform.vaadin.components.builders.ComponentPostProcessorSupport

      `withPostProcessor`

- - ### Method Detail

    - #### expandRatio

          B expandRatio(P property,
                        float expandRatio)

      Set the expand ratio of the column which corresponds to given property.
      Parameters:
        `property` - Item property to set the expand ratio for (not null)
        `expandRatio` - Column expand ratio
      Returns:
        this

    - #### icon

          B icon(P property,
                 com.vaadin.server.Resource icon)

      Set the header icon for the column which corresponds to given property.
      Parameters:
        `property` - Item property to set the icon for (not null)
        `icon` - Icon to set
      Returns:
        this

    - #### cacheRate

          B cacheRate(double cacheRate)

      Set the table rows cache rate.

      Table component may fetch and render some rows outside visible area. With complex tables (for example containing layouts and components), the client side may become unresponsive. Setting the value lower, UI will become more responsive. With higher values scrolling in client will hit server less frequently.

      The amount of cached rows will be cacheRate multiplied with table `pageLength(int)` both below and above visible area.

      Default cache rate is `1`.

      Parameters:
        `cacheRate` - a value over 0 (fastest rendering time). Higher value will cache more rows on server (smoother scrolling). Default value is 2.
      Returns:
        this

    - #### pageLength

          B pageLength(int pageLength)

      Sets the page length.

      Setting page length 0 disables paging.

      If Table has an height set the client side may update the page length automatically the correct value.

      Parameters:
        `pageLength` - the length of one page
      Returns:
        this

    - #### footer

          B footer(ItemListingBuilder.TableFooterGenerator<T,P> footerGenerator)

      Set a `ItemListingBuilder.TableFooterGenerator` to generate table footer contents every time row set changes.
      Parameters:
        `footerGenerator` - Footer contents generator (not null)
      Returns:
        this

    - #### withHeaderClickListener

          B withHeaderClickListener(com.vaadin.ui.Table.HeaderClickListener listener)

      Adds a `Table.HeaderClickListener` that gets notified when a column header is clicked.
      Parameters:
        `listener` - Listener to add (not null)
      Returns:
        this

    - #### withFooterClickListener

          B withFooterClickListener(com.vaadin.ui.Table.FooterClickListener listener)

      Adds a `Table.FooterClickListener` that gets notified when footer is clicked.
      Parameters:
        `listener` - Listener to add (not null)
      Returns:
        this

    - #### dragMode

          B dragMode(com.vaadin.ui.Table.TableDragMode dragMode)

      Sets the drag start mode of the Table. Drag start mode controls how Table behaves as a drag source.
      Parameters:
        `dragMode` - Drag mode to set
      Returns:
        this

    - #### dropHandler

          B dropHandler(com.vaadin.event.dd.DropHandler dropHandler)

      Set the handler to manage drops on table.
      Parameters:
        `dropHandler` - Drop handler
      Returns:
        this

    - #### withActionHandler

          B withActionHandler(com.vaadin.event.Action.Handler actionHandler)

      Add an `Action` handler to table.
      Parameters:
        `actionHandler` - Handler to add
      Returns:
        this

    - #### rowGenerator

          B rowGenerator(com.vaadin.ui.Table.RowGenerator rowGenerator)

      Set the table row generator
      Parameters:
        `rowGenerator` - Row generator to set
      Returns:
        this

Copyright © 2017 The Holon Platform. All rights reserved.