Class GridPro<E>

Type Parameters:
T - the grid bean type
All Implemented Interfaces:
AttachNotifier, BlurNotifier<Grid<E>>, DetachNotifier, Focusable<Grid<E>>, FocusNotifier<Grid<E>>, HasElement, HasEnabled, HasSize, HasStyle, HasTheme, SortEvent.SortNotifier<Grid<E>,GridSortOrder<E>>, HasDataGenerators<E>, HasDataView<E,Void,GridDataView<E>>, HasLazyDataView<E,Void,GridLazyDataView<E>>, HasListDataView<E,GridListDataView<E>>, Serializable

@Tag("vaadin-grid-pro") @NpmPackage(value="@vaadin/grid-pro", version="25.3.0-alpha3") @JsModule("@vaadin/grid-pro/src/vaadin-grid-pro.js") @JsModule("@vaadin/grid-pro/src/vaadin-grid-pro-edit-column.js") @JsModule("./gridProConnector.js") public class GridPro<E> extends Grid<E>
Grid Pro is an extension of the Grid component that provides inline editing with full keyboard navigation.
Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • GridPro

      public GridPro(Class<E> beanType)
      Instantiates a new CrudGrid for the supplied bean type.
      Parameters:
      beanType - the beanType for the item
    • GridPro

      public GridPro()
      Creates a new instance, with page size of 50.
    • GridPro

      public GridPro(int pageSize)
      Creates a new instance, with the specified page size.

      The page size influences the Query.getLimit() sent by the client, but it's up to the webcomponent to determine the actual query limit, based on the height of the component and scroll position. Usually the limit is 3 times the page size (e.g. 150 items with a page size of 50).

      Parameters:
      pageSize - the page size. Must be greater than zero.
  • Method Details

    • onEnabledStateChanged

      public void onEnabledStateChanged(boolean enabled)
      Description copied from class: Component
      Handle component enable state when the enabled state changes.

      By default this sets or removes the 'disabled' attribute from the element. This can be overridden to have custom handling.

      Overrides:
      onEnabledStateChanged in class Grid<E>
      Parameters:
      enabled - the new enabled state of the component
    • addEditColumn

      public EditColumnConfigurator<E> addEditColumn(ValueProvider<E,?> valueProvider)
      Adds a new edit column to this GridPro with a value provider.
      Parameters:
      valueProvider - the value provider
      Returns:
      an edit column configurer for configuring the column editor
      See Also:
    • addEditColumn

      public EditColumnConfigurator<E> addEditColumn(ValueProvider<E,?> valueProvider, Renderer<E> renderer)
      Adds a new edit column to this GridPro with a value provider and renderer which is used to display the content when the cell is not in the edit mode.
      Parameters:
      valueProvider - the value provider
      renderer - the renderer
      Returns:
      an edit column configurer for configuring the column editor
      Since:
      2.0
      See Also:
    • addEditColumn

      public <V extends Comparable<? super V>> EditColumnConfigurator<E> addEditColumn(ValueProvider<E,V> valueProvider, String... sortingProperties)
      Adds a new edit column to this GridPro with a value provider and sorting properties.
      Parameters:
      valueProvider - the value provider
      sortingProperties - the sorting properties to use for this column
      Returns:
      an edit column configurer for configuring the column editor
      Since:
      2.0
      See Also:
    • addEditColumn

      public EditColumnConfigurator<E> addEditColumn(String propertyName)
      Adds a new edit column for the given property name.

      Note: This method can only be used for a Grid created from a bean type with GridPro(Class).

      Parameters:
      propertyName - the property name of the new column, not null
      Returns:
      an edit column configurer for configuring the column editor
      See Also:
    • setEnterNextRow

      public void setEnterNextRow(boolean enterNextRow)
      Sets the value of the webcomponent's property enterNextRow. Default value is false. When true, pressing Enter while in cell edit mode will move focus to the editable cell in the next row (Shift + Enter - same, but for previous row).
      Parameters:
      enterNextRow - when true, pressing Enter while in cell edit mode will move focus to the editable cell in the next row (Shift + Enter - same, but for previous row)
    • getEnterNextRow

      public boolean getEnterNextRow()
      Gets the value of the webcomponent's property enterNextRow. Default value is false. When true, pressing Enter while in cell edit mode will move focus to the editable cell in the next row (Shift + Enter - same, but for previous row).
      Returns:
      enterNextRow value
    • setSingleCellEdit

      public void setSingleCellEdit(boolean singleCellEdit)
      Sets the value of the webcomponent's property singleCellEdit. Default value is false. When true, after moving to next or previous editable cell using Tab / Shift+Tab, it will be focused without edit mode.
      Parameters:
      singleCellEdit - when true, after moving to next or previous editable cell using Tab / Shift+Tab, it will be focused without edit mode
      Since:
      2.0
    • getSingleCellEdit

      public boolean getSingleCellEdit()
      Gets the value of the webcomponent's property singleCellEdit. Default value is false. When true, after moving to next or previous editable cell using Tab / Shift+Tab, it will be focused without edit mode.
      Returns:
      singleCellEdit value
      Since:
      2.0
    • setEditOnClick

      public void setEditOnClick(boolean editOnClick)
      Sets the value of the webcomponent's property editOnClick. Default values is false. When true, cell edit mode gets activated on a single click instead of the default double click.
      Parameters:
      editOnClick - when true, cell edit mode gets activated on a single click instead of the default double click
      Since:
      19.0
    • getEditOnClick

      @Synchronize("edit-on-click-changed") public boolean getEditOnClick()
      Gets the value of the webcomponent's property editOnClick. Default values is false. When true, cell edit mode gets activated on a single click instead of the default double click.
      Returns:
      editOnClick value
      Since:
      19.0
    • createEditColumn

      protected GridPro.EditColumn<E> createEditColumn(Renderer<E> renderer, String columnId)
      Creates a new edit column instance for this GridPro instance.

      This method must not return null.

      Parameters:
      renderer - the renderer used to create the grid cell structure
      columnId - internal column id
      Returns:
      edit column instance
      See Also:
    • addCellEditStartedListener

      public Registration addCellEditStartedListener(ComponentEventListener<GridPro.CellEditStartedEvent<E>> listener)
      Registers a listener to be notified when the user starts to edit an existing item.
      Parameters:
      listener - a listener to be notified
      Returns:
      a handle that can be used to unregister the listener
      Since:
      2.0
    • addItemPropertyChangedListener

      public Registration addItemPropertyChangedListener(ComponentEventListener<GridPro.ItemPropertyChangedEvent<E>> listener)
      Registers a listener to be notified when the user has edited an existing item.
      Parameters:
      listener - a listener to be notified
      Returns:
      a handle that can be used to unregister the listener
    • addThemeVariants

      public void addThemeVariants(GridProVariant... variants)
      Adds theme variants to the component.
      Parameters:
      variants - theme variants to add
      Since:
      23.1
    • removeThemeVariants

      public void removeThemeVariants(GridProVariant... variants)
      Removes theme variants from the component.
      Parameters:
      variants - theme variants to remove
      Since:
      23.1