com.holonplatform.vaadin.flow.components.builders

## Interface ItemListingConfigurator<T,P,L extends ItemListing<T,P>,C extends ItemListingConfigurator<T,P,L,C>>

- Type Parameters:
    `T` - Item type
    `P` - Item property type
    `L` - Item listing type
    `C` - Concrete configurator type
  All Superinterfaces:
    ComponentConfigurator<C>, ComponentGroupConfigurator<P,T,Input<?>,ItemListing.EditorComponentGroup<P,T>,C>, FocusableConfigurator<com.vaadin.flow.component.Component,C>, HasElementConfigurator<C>, HasEnabledConfigurator<C>, HasSizeConfigurator<C>, HasStyleConfigurator<C>, HasThemeVariantConfigurator<com.vaadin.flow.component.grid.GridVariant,C>, InputGroupConfigurator<P,T,ItemListing.EditorComponentGroup<P,T>,C>
  All Known Subinterfaces:
    BeanListingBuilder<T>, BeanListingBuilder.DatastoreBeanListingBuilder<T>, BeanListingConfigurator<T,C>, ItemListingBuilder<T,P,L,B>, PropertyListingBuilder, PropertyListingBuilder.DatastorePropertyListingBuilder, PropertyListingConfigurator<C>

      public interface ItemListingConfigurator<T,P,L extends ItemListing<T,P>,C extends ItemListingConfigurator<T,P,L,C>>
      extends ComponentConfigurator<C>, HasSizeConfigurator<C>, HasStyleConfigurator<C>, HasEnabledConfigurator<C>, FocusableConfigurator<com.vaadin.flow.component.Component,C>, HasThemeVariantConfigurator<com.vaadin.flow.component.grid.GridVariant,C>, InputGroupConfigurator<P,T,ItemListing.EditorComponentGroup<P,T>,C>

  `ItemListing` configurator.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `ItemListingConfigurator.ColumnAlignment` Enumeration of column text alignments.
    `static interface` | `ItemListingConfigurator.EditableItemListingRow<P>` An editable `ItemListing` section row handler.
    `static interface` | `ItemListingConfigurator.EditableItemListingSection<P>` `ItemListing` section handler for header and footer configuration.
    `static interface` | `ItemListingConfigurator.ItemListingColumnBuilder<T,P,L extends ItemListing<T,P>,B extends ItemListingConfigurator<T,P,L,B>>` ItemListing column builder.
    `static interface` | `ItemListingConfigurator.ItemListingColumnConfigurator<T,P,C extends ItemListingConfigurator.ItemListingColumnConfigurator<T,P,C>>` ItemListing column configurator.
    `static interface` | `ItemListingConfigurator.ItemListingContextMenuBuilder<T,P,L extends ItemListing<T,P>,B extends ItemListingConfigurator<T,P,L,B>>` `ItemListing` context menu builder.

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

      `ComponentConfigurator.BaseComponentConfigurator`

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

      `InputGroupConfigurator.BeanInputGroupConfigurator<T,G extends BoundComponentGroup<String,Input<?>>,C extends InputGroupConfigurator.BeanInputGroupConfigurator<T,G,C>>, InputGroupConfigurator.PropertySetInputGroupConfigurator<G extends BoundComponentGroup<com.holonplatform.core.property.Property<?>,Input<?>>,C extends InputGroupConfigurator.PropertySetInputGroupConfigurator<G,C>>`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.vaadin.flow.components.builders.HasSizeConfigurator

      `FULL_SIZE`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `C` | `alignment(P property, ItemListingConfigurator.ColumnAlignment alignment)` Sets the text alignment for the column which corresponds to given property.
    `C` | `columnReorderingAllowed(boolean columnReorderingAllowed)` Sets whether column reordering is allowed or not.
    `default <R extends com.vaadin.flow.component.Component> C` | `componentRenderer(P property, Function<T,R> renderer)` Render the column which corresponds to given property as a `Component`, using given function to provide the component for each listing item.
    `ItemListingConfigurator.ItemListingContextMenuBuilder<T,P,L,C>` | `contextMenu()` Get a `ItemListingConfigurator.ItemListingContextMenuBuilder` to configure and add a context menu to show for each listing item.
    `C` | `displayAfter(P property, P afterProperty)` Configure the column represented by given `property` id to be displayed after the column which corresponds to the id specified by the given `afterProperty`.
    `C` | `displayAsFirst(P property)` Configure the column represented by given `property` to be displayed before any other listing column by default.
    `C` | `displayAsLast(P property)` Configure the column represented by given `property` to be displayed after any other listing column by default.
    `C` | `displayBefore(P property, P beforeProperty)` Configure the column represented by given `property` id to be displayed before the column which corresponds to the id specified by the given `beforeProperty`.
    `default C` | `editable()` Set the listing as editable.
    `C` | `editable(boolean editable)` Set whether the listing is editable.
    `C` | `editorBuffered(boolean buffered)` Set whether the editor is in buffered mode.
    `default C` | `editorComponent(P property, com.vaadin.flow.component.Component editorComponent)` Set the `Component` to display when the column bound to given `property` is in editing mode.
    `C` | `editorComponent(P property, Function<T,? extends com.vaadin.flow.component.Component> editorComponentProvider)` Set the `Component` to display when the column bound to given `property` is in editing mode.
    `C` | `expand(P property)` Expand the column which corresponds to given property, taking all the available space.
    `C` | `flexGrow(P property, int flexGrow)` Sets the flex grow ratio for the column which corresponds to given property.
    `C` | `footer(Consumer<ItemListingConfigurator.EditableItemListingSection<P>> footerConfigurator)` Provide a `Consumer` to configure the item listing footer section, using the `ItemListing.ItemListingSection` API.
    `C` | `footer(P property, com.holonplatform.core.i18n.Localizable footer)` Set the footer text for the column which corresponds to given property.
    `default C` | `footer(P property, String footer)` Set the footer text for the column which corresponds to given property.
    `default C` | `footer(P property, String defaultFooter, String footerMessageCode)` Set the footer text for the column which corresponds to given property.
    `C` | `footerComponent(P property, com.vaadin.flow.component.Component footer)` Set the `Component` to use as footer for the column which corresponds to given property.
    `C` | `frozen(boolean frozen)` Set whether the listing is frozen.
    `C` | `frozen(P property, boolean frozen)` Set whether the column which corresponds to given property is frozen.
    `C` | `frozenColumns(int frozenColumnsCount)` Sets the number of frozen columns in this listing.
    `C` | `header(Consumer<ItemListingConfigurator.EditableItemListingSection<P>> headerConfigurator)` Provide a `Consumer` to configure the item listing header section, using the `ItemListing.ItemListingSection` API.
    `C` | `header(P property, com.holonplatform.core.i18n.Localizable header)` Set the header text for the column which corresponds to given property.
    `default C` | `header(P property, String header)` Set the header text for the column which corresponds to given property.
    `default C` | `header(P property, String defaultHeader, String headerMessageCode)` Set the header text for the column which corresponds to given property.
    `C` | `headerComponent(P property, com.vaadin.flow.component.Component header)` Set the `Component` to use as header for the column which corresponds to given property.
    `C` | `heightByRows(boolean heightByRows)` If `true`, the listing's height is defined by the number of its rows.
    `default C` | `hidden(P property)` Set the column which corresponds to given property as hidden.
    `default C` | `itemDetailsComponent(Function<T,com.vaadin.flow.component.Component> componentProvider)` Set the function to use for displaying the item details rows as a `Component`.
    `C` | `itemDetailsRenderer(com.vaadin.flow.data.renderer.Renderer<T> renderer)` Set the renderer to use for displaying the item details rows.
    `default C` | `itemDetailsText(Function<T,String> textProvider)` Set the function to use for displaying the item details rows as a text.
    `C` | `itemDetailsVisibleOnClick(boolean detailsVisibleOnClick)` Sets whether the item details can be opened and closed by clicking the rows or not.
    `default C` | `multiSelect()` Set the listing selection mode as `Selectable.SelectionMode.MULTI`.
    `C` | `multiSort(boolean multiSort)` Sets whether multiple column sorting is enabled on the client-side.
    `default C` | `notSelectable()` Set the listing selection mode as `Selectable.SelectionMode.NONE`.
    `C` | `pageSize(int pageSize)` Sets the page size, which is the number of items fetched at a time from the data source.
    `C` | `readOnly(P property, boolean readOnly)` Set whether the column which corresponds to given property is read-only.
    `C` | `renderer(P property, com.vaadin.flow.data.renderer.Renderer<T> renderer)` Sets the `Renderer` to use for the column which corresponds to given property.
    `C` | `resizable(boolean resizable)` Set whether all the item listing columns are user-resizable.
    `C` | `resizable(P property, boolean resizable)` Set whether the column which corresponds to given property is user-resizable.
    `C` | `selectionMode(Selectable.SelectionMode selectionMode)` Set the listing selection mode.
    `default C` | `singleSelect()` Set the listing selection mode as `Selectable.SelectionMode.SINGLE`.
    `C` | `sortable(boolean sortable)` Set whether all the item listing columns are user-sortable.
    `C` | `sortable(P property, boolean sortable)` Set whether the column which corresponds to given property is user-sortable.
    `C` | `sortComparator(P property, Comparator<T> comparator)` Sets comparator to use with in-memory sorting for the column which corresponds to given property.
    `C` | `sortProvider(P property, Function<com.holonplatform.core.query.QuerySort.SortDirection,Stream<ItemSort<P>>> sortProvider)` Set the function to use to obtain the `ItemSort`s to use when the column which corresponds to given property is user-sorted.
    `C` | `sortUsing(P property, List<P> sortProperties)` Set the properties to use to implement the sort logic to apply when the column which corresponds to given property is user-sorted.
    `default C` | `sortUsing(P property, P... sortProperties)` Set the properties to use to implement the sort logic to apply when the column which corresponds to given property is user-sorted.
    `C` | `valueProvider(P property, com.vaadin.flow.function.ValueProvider<T,String> valueProvider)` Sets the `ValueProvider` to use to obtain the text to display in the column which corresponds to given property.
    `C` | `verticalScrollingEnabled(boolean enabled)` Enables or disables the vertical scrolling on the Grid web component.
    `C` | `visible(P property, boolean visible)` Set whether the column which corresponds to given property is visible.
    `C` | `visibleColumns(List<? extends P> visibleColumns)` Set the visible columns list, using the item properties as column reference.
    `default C` | `visibleColumns(P... visibleColumns)` Set the visible columns list, using the item properties as column reference.
    `C` | `width(P property, String width)` Sets the width of the column which corresponds to given property as a CSS-string.
    `<X> ItemListingConfigurator.ItemListingColumnBuilder<T,P,L,C>` | `withColumn(com.vaadin.flow.function.ValueProvider<T,X> valueProvider)` Add a virtual column which contents will be rendered using given `valueProvider`.
    `ItemListingConfigurator.ItemListingColumnBuilder<T,P,L,C>` | `withComponentColumn(com.vaadin.flow.function.ValueProvider<T,com.vaadin.flow.component.Component> valueProvider)` Add a column which contents will be rendered as a `Component` using given `valueProvider`.
    `C` | `withEditorCancelListener(com.vaadin.flow.component.grid.editor.EditorCancelListener<T> listener)` Adds an item editor listener for editor `cancel` events.
    `C` | `withEditorCloseListener(com.vaadin.flow.component.grid.editor.EditorCloseListener<T> listener)` Adds an item editor save listener for editor `close` events.
    `C` | `withEditorOpenListener(com.vaadin.flow.component.grid.editor.EditorOpenListener<T> listener)` Adds an item editor save listener for editor `open` events.
    `C` | `withEditorSaveListener(com.vaadin.flow.component.grid.editor.EditorSaveListener<T> listener)` Adds an item editor listener for editor `save` events.
    `C` | `withItemClickListener(ClickEventListener<L,ItemClickEvent<L,T>> listener)` Adds a listener that gets notified when user clicks on an item row.
    `C` | `withItemRefreshListener(ItemEventListener<L,T,ItemEvent<L,T>> listener)` Adds a listener that gets notified when the item listing data is refreshed.
    `C` | `withSelectionListener(Selectable.SelectionListener<T> selectionListener)` Add a `Selectable.SelectionListener` to listen to items selection changes.

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

      `hidden, id, visible, withAttachListener, withDetachListener`

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

      `withEventListener, withEventListener, withThemeName`

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

      `fullHeight, fullSize, fullWidth, height, height, heightUndefined, sizeUndefined, width, width, widthUndefined`

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

      `styleName, styleNames`

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

      `disabled, enabled`

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

      `tabIndex, withBlurListener, withFocusListener`

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

      `withThemeVariants`

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

      `enableRefreshOnValueChange, groupValidationStatusHandler, required, required, required, required, validationStatusHandler, validationStatusHandler, validationStatusLabel, withPostProcessor, withValidator`

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

      `usePropertyRendererRegistry, withValueChangeListener`

- - ### Method Detail

    - #### displayAsFirst

          C displayAsFirst(P property)

      Configure the column represented by given `property` to be displayed before any other listing column by default.
      Parameters:
        `property` - The property which represents the column to display as first (not null)
      Returns:
        this

    - #### displayAsLast

          C displayAsLast(P property)

      Configure the column represented by given `property` to be displayed after any other listing column by default.
      Parameters:
        `property` - The property which represents the column to display as last (not null)
      Returns:
        this

    - #### displayBefore

          C displayBefore(P property,
                          P beforeProperty)

      Configure the column represented by given `property` id to be displayed before the column which corresponds to the id specified by the given `beforeProperty`.
      Parameters:
        `property` - Property which represents the column to display before the other property (not null)
        `beforeProperty` - Property which represents the column before which the first property has to be displayed (not null)
      Returns:
        this

    - #### displayAfter

          C displayAfter(P property,
                         P afterProperty)

      Configure the column represented by given `property` id to be displayed after the column which corresponds to the id specified by the given `afterProperty`.
      Parameters:
        `property` - Property which represents the column to display after the other property (not null)
        `afterProperty` - Property which represents the column after which the first property has to be displayed (not null)
      Returns:
        this

    - #### withColumn

          <X> ItemListingConfigurator.ItemListingColumnBuilder<T,P,L,C> withColumn(com.vaadin.flow.function.ValueProvider<T,X> valueProvider)

      Add a virtual column which contents will be rendered using given `valueProvider`.
      Type Parameters:
        `X` - Column value type
      Parameters:
        `valueProvider` - The value provider to use to provide the column value, using the current row item instance (not null)
      Returns:
        An `ItemListingConfigurator.ItemListingColumnBuilder` which allow further column configuration and provides the `ItemListingConfigurator.ItemListingColumnBuilder.add()` method to add the column to the listing

    - #### withComponentColumn

          ItemListingConfigurator.ItemListingColumnBuilder<T,P,L,C> withComponentColumn(com.vaadin.flow.function.ValueProvider<T,com.vaadin.flow.component.Component> valueProvider)

      Add a column which contents will be rendered as a `Component` using given `valueProvider`.
      Parameters:
        `valueProvider` - The value provider to use to provide the column `Component` using the current row item instance (not null)
      Returns:
        An `ItemListingConfigurator.ItemListingColumnBuilder` which allow further column configuration and provides the `ItemListingConfigurator.ItemListingColumnBuilder.add()` method to add the column to the listing

    - #### visibleColumns

          default C visibleColumns(P... visibleColumns)

      Set the visible columns list, using the item properties as column reference. The columns will be displayed in the order thay are provided.

      Any property display order declaration configured using `displayAsFirst(Object)`, `displayAsLast(Object)`, `displayBefore(Object, Object)` and `displayAfter(Object, Object)` will be ignored.

      Parameters:
        `visibleColumns` - The visible column properties (not null)
      Returns:
        this

    - #### visibleColumns

          C visibleColumns(List<? extends P> visibleColumns)

      Set the visible columns list, using the item properties as column reference. The columns will be displayed in the order thay are provided.

      Any property display order declaration configured using `displayAsFirst(Object)`, `displayAsLast(Object)`, `displayBefore(Object, Object)` and `displayAfter(Object, Object)` will be ignored.

      Parameters:
        `visibleColumns` - The visible column properties (not null)
      Returns:
        this

    - #### sortable

          C sortable(boolean sortable)

      Set whether all the item listing columns are user-sortable.
      Parameters:
        `sortable` - Whether all the item listing columns are user-sortable
      Returns:
        this

    - #### sortable

          C sortable(P property,
                     boolean sortable)

      Set whether the column which corresponds to given property is user-sortable.
      Parameters:
        `property` - The property to configure (not null)
        `sortable` - Whether given property is user-sortable
      Returns:
        this

    - #### resizable

          C resizable(boolean resizable)

      Set whether all the item listing columns are user-resizable.
      Parameters:
        `resizable` - Whether all the item listing columns are user-resizable
      Returns:
        this

    - #### resizable

          C resizable(P property,
                      boolean resizable)

      Set whether the column which corresponds to given property is user-resizable.
      Parameters:
        `property` - The property to configure (not null)
        `resizable` - Whether given property is user-resizable
      Returns:
        this

    - #### visible

          C visible(P property,
                    boolean visible)

      Set whether the column which corresponds to given property is visible.
      Parameters:
        `property` - The property to configure (not null)
        `visible` - Whether given property is visible
      Returns:
        this

    - #### hidden

          default C hidden(P property)

      Set the column which corresponds to given property as hidden.
      Parameters:
        `property` - The property to configure (not null)
      Returns:
        this
      See Also:
        `visible(Object, boolean)`

    - #### readOnly

          C readOnly(P property,
                     boolean readOnly)

      Set whether the column which corresponds to given property is read-only.

      When a column is read-only, no editor component will be provided when the item is in edit mode.

      Parameters:
        `property` - The property to configure (not null)
        `readOnly` - Whether given property is read-only
      Returns:
        this

    - #### frozen

          C frozen(P property,
                   boolean frozen)

      Set whether the column which corresponds to given property is frozen.
      Parameters:
        `property` - The property to configure (not null)
        `frozen` - Whether given property is frozen
      Returns:
        this

    - #### frozenColumns

          C frozenColumns(int frozenColumnsCount)

      Sets the number of frozen columns in this listing.
      Parameters:
        `frozenColumnsCount` - The number of columns that should be frozen
      Returns:
        this

    - #### width

          C width(P property,
                  String width)

      Sets the width of the column which corresponds to given property as a CSS-string.
      Parameters:
        `property` - The property to configure (not null)
        `width` - the width to set
      Returns:
        this

    - #### flexGrow

          C flexGrow(P property,
                     int flexGrow)

      Sets the flex grow ratio for the column which corresponds to given property.

      When set to 0, column width is fixed.

      Parameters:
        `property` - The property to configure (not null)
        `flexGrow` - the flex grow ratio to set
      Returns:
        this

    - #### expand

          C expand(P property)

      Expand the column which corresponds to given property, taking all the available space.

      The flew grow value for the provided column will be set to `1`, while the other columns flew grow value will be set to `0`.

      Parameters:
        `property` - The property which identifies the column to expand
      Returns:
        this

    - #### alignment

          C alignment(P property,
                      ItemListingConfigurator.ColumnAlignment alignment)

      Sets the text alignment for the column which corresponds to given property.

      Default is `ItemListingConfigurator.ColumnAlignment.LEFT`.

      Parameters:
        `property` - The property to configure (not null)
        `alignment` - the text alignment to set
      Returns:
        this

    - #### renderer

          C renderer(P property,
                     com.vaadin.flow.data.renderer.Renderer<T> renderer)

      Sets the `Renderer` to use for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `renderer` - The column renderer to use
      Returns:
        this

    - #### componentRenderer

          default <R extends com.vaadin.flow.component.Component> C componentRenderer(P property,
                                                                                      Function<T,R> renderer)

      Render the column which corresponds to given property as a `Component`, using given function to provide the component for each listing item.
      Type Parameters:
        `R` - Component type
      Parameters:
        `property` - The property to configure (not null)
        `renderer` - The function to use to provide the component for each listing item (not null)
      Returns:
        this

    - #### valueProvider

          C valueProvider(P property,
                          com.vaadin.flow.function.ValueProvider<T,String> valueProvider)

      Sets the `ValueProvider` to use to obtain the text to display in the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `valueProvider` - The value provider to use
      Returns:
        this

    - #### sortComparator

          C sortComparator(P property,
                           Comparator<T> comparator)

      Sets comparator to use with in-memory sorting for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `comparator` - The comparator to use with in-memory sorting
      Returns:
        this

    - #### sortUsing

          C sortUsing(P property,
                      List<P> sortProperties)

      Set the properties to use to implement the sort logic to apply when the column which corresponds to given property is user-sorted.
      Parameters:
        `property` - The property to configure (not null)
        `sortProperties` - The properties to use to sort the column
      Returns:
        this

    - #### sortUsing

          default C sortUsing(P property,
                              P... sortProperties)

      Set the properties to use to implement the sort logic to apply when the column which corresponds to given property is user-sorted.
      Parameters:
        `property` - The property to configure (not null)
        `sortProperties` - The properties to use to sort the column
      Returns:
        this

    - #### sortProvider

          C sortProvider(P property,
                         Function<com.holonplatform.core.query.QuerySort.SortDirection,Stream<ItemSort<P>>> sortProvider)

      Set the function to use to obtain the `ItemSort`s to use when the column which corresponds to given property is user-sorted.
      Parameters:
        `property` - The property to configure (not null)
        `sortProvider` - Sort provider
      Returns:
        this

    - #### header

          C header(P property,
                   com.holonplatform.core.i18n.Localizable header)

      Set the header text for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `header` - Localizable column header text (not null)
      Returns:
        this

    - #### header

          default C header(P property,
                           String header)

      Set the header text for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `header` - The column header text
      Returns:
        this

    - #### header

          default C header(P property,
                           String defaultHeader,
                           String headerMessageCode)

      Set the header text for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `defaultHeader` - The default column header text
        `headerMessageCode` - The column header text translation message code
      Returns:
        this

    - #### headerComponent

          C headerComponent(P property,
                            com.vaadin.flow.component.Component header)

      Set the `Component` to use as header for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `header` - The column header component
      Returns:
        this

    - #### footer

          C footer(P property,
                   com.holonplatform.core.i18n.Localizable footer)

      Set the footer text for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `footer` - Localizable column footer text (not null)
      Returns:
        this

    - #### footer

          default C footer(P property,
                           String footer)

      Set the footer text for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `footer` - The column footer text
      Returns:
        this

    - #### footer

          default C footer(P property,
                           String defaultFooter,
                           String footerMessageCode)

      Set the footer text for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `defaultFooter` - The default column footer text
        `footerMessageCode` - The column footer text translation message code
      Returns:
        this

    - #### footerComponent

          C footerComponent(P property,
                            com.vaadin.flow.component.Component footer)

      Set the `Component` to use as footer for the column which corresponds to given property.
      Parameters:
        `property` - The property to configure (not null)
        `footer` - The column footer component
      Returns:
        this

    - #### pageSize

          C pageSize(int pageSize)

      Sets the page size, which is the number of items fetched at a time from the data source.

      Note: the number of items in the server-side memory can be considerably higher than the page size, since the component can show more than one page at a time.

      Parameters:
        `pageSize` - the maximum number of items sent per request. Should be greater than zero
      Returns:
        this

    - #### heightByRows

          C heightByRows(boolean heightByRows)

      If `true`, the listing's height is defined by the number of its rows. All items are fetched from the data provider, and the Grid shows no vertical scroll bar.
      Parameters:
        `heightByRows` - `true` to make listing compute its height by the number of rows, `false` for the default behavior
      Returns:
        this

    - #### columnReorderingAllowed

          C columnReorderingAllowed(boolean columnReorderingAllowed)

      Sets whether column reordering is allowed or not.
      Parameters:
        `columnReorderingAllowed` - `true` if column reordering is allowed
      Returns:
        this

    - #### itemDetailsRenderer

          C itemDetailsRenderer(com.vaadin.flow.data.renderer.Renderer<T> renderer)

      Set the renderer to use for displaying the item details rows.
      Parameters:
        `renderer` - the renderer to use for displaying item details rows
      Returns:
        this

    - #### itemDetailsText

          default C itemDetailsText(Function<T,String> textProvider)

      Set the function to use for displaying the item details rows as a text.
      Parameters:
        `textProvider` - The function to provide the item details text
      Returns:
        this

    - #### itemDetailsComponent

          default C itemDetailsComponent(Function<T,com.vaadin.flow.component.Component> componentProvider)

      Set the function to use for displaying the item details rows as a `Component`.
      Parameters:
        `componentProvider` - The function to provide the item details `Component`
      Returns:
        this

    - #### itemDetailsVisibleOnClick

          C itemDetailsVisibleOnClick(boolean detailsVisibleOnClick)

      Sets whether the item details can be opened and closed by clicking the rows or not.

      Default is `true`.

      Parameters:
        `detailsVisibleOnClick` - `true` to enable opening and closing item details by clicking the rows, `false` otherwise
      Returns:
        this
      See Also:
        `itemDetailsRenderer(Renderer)`

    - #### selectionMode

          C selectionMode(Selectable.SelectionMode selectionMode)

      Set the listing selection mode.
      Parameters:
        `selectionMode` - The selection mode to set (not null). Use `Selectable.SelectionMode.NONE` to disable selection.
      Returns:
        this

    - #### singleSelect

          default C singleSelect()

      Set the listing selection mode as `Selectable.SelectionMode.SINGLE`.
      Returns:
        this

    - #### multiSelect

          default C multiSelect()

      Set the listing selection mode as `Selectable.SelectionMode.MULTI`.
      Returns:
        this

    - #### notSelectable

          default C notSelectable()

      Set the listing selection mode as `Selectable.SelectionMode.NONE`.
      Returns:
        this

    - #### withSelectionListener

          C withSelectionListener(Selectable.SelectionListener<T> selectionListener)

      Add a `Selectable.SelectionListener` to listen to items selection changes.

      `Selectable.SelectionListener`s are triggred only when listing is selectable, i.e. (i.e. `Selectable.SelectionMode` is not `Selectable.SelectionMode.NONE`).

      Parameters:
        `selectionListener` - The selection listener to add (not null)
      Returns:
        this

    - #### withItemClickListener

          C withItemClickListener(ClickEventListener<L,ItemClickEvent<L,T>> listener)

      Adds a listener that gets notified when user clicks on an item row.
      Parameters:
        `listener` - The `ClickableRenderer.ItemClickListener` to add (not null)
      Returns:
        this

    - #### withItemRefreshListener

          C withItemRefreshListener(ItemEventListener<L,T,ItemEvent<L,T>> listener)

      Adds a listener that gets notified when the item listing data is refreshed.

      The refresh event is fired when tha data provider detect a data change event, either for all the items or for only one. When only one item is updated, it is available from `ItemEvent.getItem()`.

      Parameters:
        `listener` - The `ItemEventListener` to add (not null)
      Returns:
        this

    - #### multiSort

          C multiSort(boolean multiSort)

      Sets whether multiple column sorting is enabled on the client-side.
      Parameters:
        `multiSort` - `true` to enable sorting of multiple columns on the client-side, `false` to disable
      Returns:
        this

    - #### verticalScrollingEnabled

          C verticalScrollingEnabled(boolean enabled)

      Enables or disables the vertical scrolling on the Grid web component. By default, the scrolling is enabled.
      Parameters:
        `enabled` - `true` to enable vertical scrolling, `false` to disabled it
      Returns:
        this

    - #### contextMenu

          ItemListingConfigurator.ItemListingContextMenuBuilder<T,P,L,C> contextMenu()

      Get a `ItemListingConfigurator.ItemListingContextMenuBuilder` to configure and add a context menu to show for each listing item.

      Use the `ItemListingConfigurator.ItemListingContextMenuBuilder.add()` method to add the context menu to the item listing.

      By default, the context menu can be opened with a right click or a long touch on the target component.

      Returns:
        A `ItemListingConfigurator.ItemListingContextMenuBuilder`

    - #### header

          C header(Consumer<ItemListingConfigurator.EditableItemListingSection<P>> headerConfigurator)

      Provide a `Consumer` to configure the item listing header section, using the `ItemListing.ItemListingSection` API.
      Parameters:
        `headerConfigurator` - The item listing header section configurator (not null)
      Returns:
        this

    - #### footer

          C footer(Consumer<ItemListingConfigurator.EditableItemListingSection<P>> footerConfigurator)

      Provide a `Consumer` to configure the item listing footer section, using the `ItemListing.ItemListingSection` API.
      Parameters:
        `footerConfigurator` - The item listing footer section configurator (not null)
      Returns:
        this

    - #### editable

          C editable(boolean editable)

      Set whether the listing is editable.

      Use `withEditorSaveListener(EditorSaveListener)` to register a listener for editor item save events.

      Parameters:
        `editable` - whether the listing is editable
      Returns:
        this

    - #### editable

          default C editable()

      Set the listing as editable.
      Returns:
        this

    - #### editorComponent

          C editorComponent(P property,
                            Function<T,? extends com.vaadin.flow.component.Component> editorComponentProvider)

      Set the `Component` to display when the column bound to given `property` is in editing mode.
      Parameters:
        `property` - The property for which to set the editor component (not null)
        `editorComponentProvider` - The editor component provider (not null)
      Returns:
        this

    - #### editorComponent

          default C editorComponent(P property,
                                    com.vaadin.flow.component.Component editorComponent)

      Set the `Component` to display when the column bound to given `property` is in editing mode.
      Parameters:
        `property` - The property for which to set the editor component (not null)
        `editorComponent` - The editor component (not null)
      Returns:
        this

    - #### editorBuffered

          C editorBuffered(boolean buffered)

      Set whether the editor is in buffered mode. Default is `true`.

      When the editor is in buffered mode, edits are only committed when the user clicks the save button. In unbuffered mode valid changes are automatically committed.

      Parameters:
        `buffered` - Whether the editor is in buffered mode
      Returns:
        this

    - #### withEditorSaveListener

          C withEditorSaveListener(com.vaadin.flow.component.grid.editor.EditorSaveListener<T> listener)

      Adds an item editor listener for editor `save` events.
      Parameters:
        `listener` - The listener to add (not null)
      Returns:
        this

    - #### withEditorCancelListener

          C withEditorCancelListener(com.vaadin.flow.component.grid.editor.EditorCancelListener<T> listener)

      Adds an item editor listener for editor `cancel` events.
      Parameters:
        `listener` - The listener to add (not null)
      Returns:
        this

    - #### withEditorOpenListener

          C withEditorOpenListener(com.vaadin.flow.component.grid.editor.EditorOpenListener<T> listener)

      Adds an item editor save listener for editor `open` events.
      Parameters:
        `listener` - The listener to add (not null)
      Returns:
        this

    - #### withEditorCloseListener

          C withEditorCloseListener(com.vaadin.flow.component.grid.editor.EditorCloseListener<T> listener)

      Adds an item editor save listener for editor `close` events.
      Parameters:
        `listener` - The listener to add (not null)
      Returns:
        this

    - #### frozen

          C frozen(boolean frozen)

      Set whether the listing is frozen.

      When the listing is frozen, it never shows any item and no fetch is performed from the data provider.

      When the `ItemSet.refresh()` method is called, the frozen state is automatically set to `false`.

      Parameters:
        `frozen` - Whether the listing is frozen
      Returns:
        this
      Since:
        5.2.2

Copyright © 2019 The Holon Platform. All rights reserved.