Class EditablePropertyColumn<M,​I,​P,​S>

    • Constructor Detail

      • EditablePropertyColumn

        public EditablePropertyColumn​(String columnId,
                                      IModel<String> headerModel,
                                      String propertyExpression,
                                      S sortProperty)
        Constructor.
        Parameters:
        columnId - column identified (must be unique within the grid)
        headerModel - model for column header
        propertyExpression - property expression used to get the displayed value for row object
        sortProperty - optional string that will be returned by ISortState to indicate that the column is being sorted
      • EditablePropertyColumn

        public EditablePropertyColumn​(String columnId,
                                      IModel<String> headerModel,
                                      String propertyExpression)
        Constructor.
        Parameters:
        columnId - column identified (must be unique within the grid)
        headerModel - model for column header
        propertyExpression - property expression used to get the displayed value for row object
      • EditablePropertyColumn

        public EditablePropertyColumn​(IModel<String> headerModel,
                                      String propertyExpression,
                                      S sortProperty)
        Constructor. The column id is omitted in this constructor, because the property expression is used as column id.
        Parameters:
        headerModel - model for column header
        propertyExpression - property expression used to get the displayed value for row object
        sortProperty - optional string that will be returned by ISortState to indicate that the column is being sorted
      • EditablePropertyColumn

        public EditablePropertyColumn​(IModel<String> headerModel,
                                      String propertyExpression)
        Constructor. The column id is omitted in this constructor, because the property expression is used as column id.
        Parameters:
        headerModel - model for column header
        propertyExpression - property expression used to get the displayed value for row object
    • Method Detail

      • isLightWeight

        public boolean isLightWeight​(IModel<I> rowModel)
        Returns whether this column is uses a component for cell in given row (not lightweight) or an IRenderable implementation. Generally, if the cell is non-interactive (label only), it's better to use an IRenderable implementation, as it has zero memory footprint
        Specified by:
        isLightWeight in interface IGridColumn<M,​I,​P>
        Overrides:
        isLightWeight in class AbstractLightWeightColumn<M,​I,​S>
        Parameters:
        rowModel - model for given row
        Returns:
        true if the cell is lightweight, false otherwise
      • getFieldModel

        protected IModel<P> getFieldModel​(IModel<I> rowModel)
      • newCell

        public Component newCell​(WebMarkupContainer parent,
                                 String componentId,
                                 IModel<I> rowModel)
        Creates a new cell component. This method is called for rows that are not lightweight ( IGridColumn.isLightWeight(IModel) returns false ).
        Specified by:
        newCell in interface IGridColumn<M,​I,​P>
        Overrides:
        newCell in class AbstractLightWeightColumn<M,​I,​S>
        Parameters:
        parent - Parent component. This is passed in only for convenience, the method implementation is not supposed to add the newly created component to the parent.
        componentId - required id of newly created components
        rowModel - model for given row
        Returns:
        new cell component
      • addValidators

        protected void addValidators​(FormComponent<P> component)
      • getCellCssClass

        public String getCellCssClass​(IModel<I> rowModel,
                                      int rowNum)
        Returns the cell specified by rowModel. The class is applied to the appropriate <td> element in the grid.
        Specified by:
        getCellCssClass in interface IGridColumn<M,​I,​P>
        Overrides:
        getCellCssClass in class AbstractColumn<M,​I,​S>
        Parameters:
        rowModel - model for given row
        rowNum - index of row for DataGrid, -1 for TreeGrid
        Returns:
        cell style class or null
      • cellClicked

        public boolean cellClicked​(IModel<I> rowModel)
        Description copied from class: AbstractColumn
        Allows to override default behavior when a row is clicked. Depending on grid settings the default behavior can select the item. If this method returns true the default behavior will be suppressed.
        Specified by:
        cellClicked in interface IGridColumn<M,​I,​P>
        Overrides:
        cellClicked in class AbstractColumn<M,​I,​S>
        Parameters:
        rowModel - Model for clicked row
        Returns:
        true if the default behavior when row is clicked should be supressed, false otherwise.
      • isClickToEdit

        protected boolean isClickToEdit()