Class AbstractGrid<M,​I,​S>

    • Method Detail

      • columnSanityCheck

        protected void columnSanityCheck​(IGridColumn<M,​I,​S> column)
        Checks whether the column is a valid grid column
        Parameters:
        column -
      • onColumnStateChanged

        public void onColumnStateChanged()
        Invoked when client change the column state (e.g. resize or reorder a column).
        See Also:
        getColumnState()
      • getColumnState

        public ColumnsState getColumnState()
        Returns the column state.
        Returns:
        state of columns
        See Also:
        ColumnsState
      • setColumnState

        public void setColumnState​(ColumnsState columnState)
        Sets a new column state. The state must not be null and must match current set of columns, i.e. for every column in grid there must be entry in the given state.
        Parameters:
        columnState - new column state
        See Also:
        ColumnsState
      • addTopToolbar

        public void addTopToolbar​(AbstractToolbar<M,​I,​S> toolbar)
        Adds a toolbar to the top section (above the grid header).
        Parameters:
        toolbar - toolbar instance
        See Also:
        AbstractToolbar
      • addBottomToolbar

        public void addBottomToolbar​(AbstractToolbar<M,​I,​S> toolbar)
        Adds a toolbar to the bottom section (below the actual data).
        Parameters:
        toolbar - toolbar instance
        See Also:
        AbstractToolbar
      • addHeaderToolbar

        public void addHeaderToolbar​(AbstractHeaderToolbar<M,​I,​S> toolbar)
        Ads a toolbar to the header section (below the grid header, above the actual data).
        Parameters:
        toolbar - toolbar instance
        See Also:
        AbstractToolbar
      • onSortStateChanged

        protected void onSortStateChanged​(AjaxRequestTarget target)
        Invoked when sort state of this grid has changed (e.g. user clicked a sortable column header). By default refreshes the grid.
        Parameters:
        target -
      • getActiveColumns

        public Collection<IGridColumn<M,​I,​S>> getActiveColumns()
        Returns collection of currently visible columns.
        Returns:
        collection of currently visible columns
      • getAllColumns

        public List<IGridColumn<M,​I,​S>> getAllColumns()
        Returns the list of all columns in this grid.
        Returns:
        list of columns
      • setTheme

        public void setTheme​(String theme)
        Sets the grid theme. Grid theme is used as CSS style class for the grid. The theme itself consist of a proper style definition in stylesheet. For more information on custom theme creation see the custom theme example.
        Parameters:
        theme - theme identifier
      • getTheme

        public String getTheme()
        Returns the theme identifier
        Returns:
        theme identifier
        See Also:
        setTheme(String)
      • selectItem

        public abstract void selectItem​(IModel<I> itemModel,
                                        boolean selected)
        Alters the selection state of item specified by the item model.
        Parameters:
        itemModel - item model
        selected - true if the item should be selected, false otherwise.
      • selectAllVisibleItems

        public abstract void selectAllVisibleItems()
        Marks all currently displayed items as selected. For DataGrid this selects all items on current page, for TreeGrid this selects all currently visible nodes.
      • resetSelectedItems

        public abstract void resetSelectedItems()
        Deselects all items. This method marks all items (not just visible items) as no selected.
      • isItemSelected

        public abstract boolean isItemSelected​(IModel<I> itemModel)
        Queries whether the item specified by itemModel is currently selected.
        Parameters:
        itemModel - item model
        Returns:
        true if the item is selected, false otherwise
      • getSelectedItems

        public abstract Collection<IModel<I>> getSelectedItems()
        Returns the collection of models of all currently selected items.
        Returns:
        collection of models of currently selected items
      • setAllowSelectMultiple

        public abstract void setAllowSelectMultiple​(boolean value)
        Sets whether user will be able to select more than one item.
        Parameters:
        value - true if the user will be able to select more than one item at a time, false otherwise (single selection mode).
      • isAllowSelectMultiple

        public abstract boolean isAllowSelectMultiple()
        Returns whether user will be able to select more than one item at a time.
        Returns:
        true if multiple items can be selected at a time, false otherwise.
      • update

        public abstract void update()
        During an Ajax request this method updates the changed grid rows.

        The definition of "changed" varies in DataGrid and TreeGrid.

        • In both grids the items for which the selection state changed are considered changed.
        • In TreeGrid the changes to TreeModel itself are being tracked (assuming the proper listeners are fired) and all rows that need to be updated are also considered changed.
        • In DataGrid the items that need to be updated can be marked by DataGrid.markItemDirty(IModel) or DataGrid.markAllItemsDirty(). The grid itself doesn't track changes to specific items (apart from the selection state).
      • onItemSelectionChanged

        protected void onItemSelectionChanged​(IModel<I> item,
                                              boolean newValue)
        Invoked when an item selection state has been changed.
        Parameters:
        item - item model
        newValue - true if the item became selected, false otherwise.
      • getLastClickedColumn

        public IGridColumn<M,​I,​S> getLastClickedColumn()
      • cleanLastClickedColumn

        public void cleanLastClickedColumn()
      • disableRowClickNotifications

        protected boolean disableRowClickNotifications()
      • onRowPopulated

        protected void onRowPopulated​(WebMarkupContainer rowComponent)
        Called after a grid row has been populated. This method allows adding behaviors to grid rows.
        Parameters:
        rowComponent -
      • setClickRowToSelect

        public AbstractGrid<M,​I,​S> setClickRowToSelect​(boolean clickRowToSelect)
        Sets whether a click on grid row should select/deselect the row.
        Parameters:
        clickRowToSelect - true if the row selection state should be changed upon a mouse click, false otherwise.
        Returns:
        this (useful for method chaining)
        See Also:
        setClickRowToDeselect(boolean)
      • isClickRowToSelect

        public boolean isClickRowToSelect()
        Returns whether a click on grid row should select/deselect the row.
        Returns:
        true if the row click should alter the row selection state, false otherwise.
      • setClickRowToDeselect

        public void setClickRowToDeselect​(boolean clickRowToDeselect)
        Sets whether a click on selected grid row should deselect it. This only applies when setClickRowToSelect(boolean) is set to true.
        Parameters:
        clickRowToDeselect - whether clicking a selected row should deselect it
      • isClickRowToDeselect

        public boolean isClickRowToDeselect()
        Returns whether clicking a selected row deselects it.
        Returns:
        true if clicking a selected row deselects it, false otherwise.
      • setContentHeight

        public void setContentHeight​(Integer contentHeight,
                                     SizeUnit contentSizeUnit)
        Sets the height of grid content. Content is the part of grid displaying the actual data (rows), i.e. it doesn't cover the header part and toolbars. When the actual content height is bigger than specified height, a vertical scrollbar is displayed.
        Parameters:
        contentHeight - desired height of the content or null is the height should be determined by the actual height (no scrollbar displayed, defalt value)
        contentSizeUnit - size unit for the contentHeight
      • getContentHeight

        public int getContentHeight()
        Returns the content height.
        Returns:
        content height or 0 if the content height should be determined by the actual content.
        See Also:
        setContentHeight(Integer, SizeUnit)
      • getContentHeightSizeUnit

        public SizeUnit getContentHeightSizeUnit()
        Returns the size unit for content height.
        Returns:
        size unit
      • findParentRow

        public abstract WebMarkupContainer findParentRow​(Component child)
        Returns the row in DataTable that contains the child component
        Parameters:
        child -
        Returns:
      • findRowComponent

        protected abstract WebMarkupContainer findRowComponent​(IModel<I> rowModel)
        Returns the row component for specified item.
        Parameters:
        rowModel -
        Returns:
      • markItemDirty

        public abstract void markItemDirty​(IModel<I> model)
        Marks the item from the given model as dirty. Dirty items are updated during Ajax requests when update() method is called.
        Parameters:
        model - model used to access the item
      • setSelectToEdit

        public void setSelectToEdit​(boolean selectToEdit)
        Determines whether selected items should also be editable. This should be set to false when the grid is both selectable and editable (independently).
        Parameters:
        selectToEdit - whether selected rows should be editable
      • isSelectToEdit

        public boolean isSelectToEdit()
        Returns whether selected rows are also editable.
        Returns:
      • setItemEdit

        public void setItemEdit​(IModel<I> rowModel,
                                boolean edit)
        Sets the edit mode of the row. If selectToEdit is true, this is same as calling selectItem(IModel, boolean).
        Parameters:
        rowModel - row model
        edit - true if the row should be in editable mode, false otherwise.
        See Also:
        setSelectToEdit(boolean)
      • isItemEdited

        public boolean isItemEdited​(IModel<I> rowModel)
        Returns whether the row is in editable mode.
        Parameters:
        rowModel -
        Returns:
        true if the row is in editable mode, false otherwise.
      • isUseYui

        public boolean isUseYui()
      • setUseYui

        public void setUseYui​(boolean useYui)