Class TreeGrid<T>
- Type Parameters:
T- the grid bean type
- All Implemented Interfaces:
AttachNotifier,BlurNotifier<Grid<T>>,DetachNotifier,Focusable<Grid<T>>,FocusNotifier<Grid<T>>,HasElement,HasEnabled,HasSize,HasStyle,HasTheme,SortEvent.SortNotifier<Grid<T>,,GridSortOrder<T>> HasDataGenerators<T>,HasDataView<T,,Void, GridDataView<T>> HasLazyDataView<T,,Void, GridLazyDataView<T>> HasListDataView<T,,GridListDataView<T>> HasHierarchicalDataProvider<T>,Serializable
- Author:
- Vaadin Ltd
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.grid.Grid
Grid.AbstractGridExtension<T>, Grid.Column<T>, Grid.DataCommunicatorBuilder<T,U extends ArrayUpdater>, Grid.MultiSortPriority, Grid.NestedNullBehavior, Grid.SelectionMode, Grid.SpringData, Grid.UpdateQueue Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier
BlurNotifier.BlurEvent<C extends Component>Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
FocusNotifier.FocusEvent<C extends Component> -
Constructor Summary
ConstructorsModifierConstructorDescriptionTreeGrid()Creates a newTreeGridwithout support for creating columns based on property names.protectedTreeGrid(int pageSize, Grid.DataCommunicatorBuilder<T, GridArrayUpdater> dataCommunicatorBuilder) Creates a newTreeGridwithout support for creating columns based on property names.TreeGrid(HierarchicalDataProvider<T, ?> dataProvider) Creates a newTreeGridusing the givenHierarchicalDataProvider, without support for creating columns based on property names.Creates a newTreeGridwith an initial set of columns for each of the bean's properties.Creates a newTreeGridwith an initial set of columns for each of the bean's properties.protectedTreeGrid(Class<T> beanType, Grid.DataCommunicatorBuilder<T, GridArrayUpdater> dataCommunicatorBuilder) Creates a newTreeGridwith an initial set of columns for each of the bean's properties. -
Method Summary
Modifier and TypeMethodDescriptionaddCollapseListener(ComponentEventListener<CollapseEvent<T, TreeGrid<T>>> listener) Adds a CollapseEvent listener to this TreeGrid.<V extends Component>
Grid.Column<T> addComponentHierarchyColumn(ValueProvider<T, V> componentProvider) Adds a new Hierarchy column that shows components.addExpandListener(ComponentEventListener<ExpandEvent<T, TreeGrid<T>>> listener) Adds an ExpandEvent listener to this TreeGrid.addHierarchyColumn(ValueProvider<T, ?> valueProvider) Adds a new Hierarchy column to thisGridwith a value provider.voidcollapse(Collection<T> items) Collapse the given items.protected voidcollapse(Collection<T> items, boolean userOriginated) Collapse the given items.voidCollapse the given items.voidcollapseRecursively(Collection<T> items, int depth) Collapse the given items and their children recursively until the given depth.voidcollapseRecursively(Stream<T> items, int depth) Collapse the given items and their children recursively until the given depth.voidexpand(Collection<T> items) Expands the given items.protected voidexpand(Collection<T> items, boolean userOriginated) Expands the given items.voidExpands the given items.voidexpandRecursively(Collection<T> items, int depth) Expands the given items and their children recursively until the given depth.voidexpandRecursively(Stream<T> items, int depth) Expands the given items and their children recursively until the given depth.Returns the data communicator of this Grid.Returns the data provider of this grid.Deprecated.not supportedprotected Collection<T> getItemsWithChildrenRecursively(Collection<T> items, int depth) Gets given items and their children recursively until the given depth.Deprecated.not supportedDeprecated.not supportedprotected voidbooleanisExpanded(T item) Returns whether a given item is expanded or collapsed.voidScrolls to the last data row of the grid.voidscrollToIndex(int index) Scrolls to the index of an item so that the row is shown at the start of the visible area whenever possible.voidscrollToIndex(int... path) Scrolls to a nested item specified by its hierarchical path.voidscrollToItem(T item) Scrolls to an item within the tree.setColumns(String hierarchyPropertyName, ValueProvider<T, ?> valueProvider, Collection<String> propertyNames) Note: This method can only be used for a TreeGrid created from a bean type withTreeGrid(Class).voidsetDataProvider(DataProvider<T, ?> dataProvider) voidsetDataProvider(HierarchicalDataProvider<T, ?> hierarchicalDataProvider) Sets the hierarchical data provider for this listing.setHierarchyColumn(String propertyName) Note: This method can only be used for a TreeGrid created from a bean type withTreeGrid(Class).setHierarchyColumn(String propertyName, ValueProvider<T, ?> valueProvider) Note: This method can only be used for a TreeGrid created from a bean type withTreeGrid(Class).setItems(BackEndDataProvider<T, Void> dataProvider) setItems(CallbackDataProvider.FetchCallback<T, Void> fetchCallback) setItems(ListDataProvider<T> dataProvider) setItems(Collection<T> items) voidsetUniqueKeyDataGenerator(String propertyName, ValueProvider<T, String> uniqueKeyProvider) Sets property name and value provider for unique key in row's generated JSON.Methods inherited from class com.vaadin.flow.component.grid.Grid
addCellFocusListener, addColumn, addColumn, addColumn, addColumn, addColumn, addColumn, addColumn, addColumnReorderListener, addColumnResizeListener, addColumns, addComponentColumn, addContextMenu, addDataGenerator, addDragEndListener, addDragStartListener, addDropListener, addFirstHeaderRow, addItemClickListener, addItemDoubleClickListener, addSelectionListener, addSortListener, addThemeVariants, addValueProvider, appendFooterRow, appendHeaderRow, asMultiSelect, asSingleSelect, compareMaybeComparables, configureBeanType, createColumn, createColumnId, createDefaultArrayUpdater, createEditor, createSortingComparator, deselect, deselectAll, getAriaLabel, getArrayUpdater, getBeanType, getClassNameGenerator, getColumnByInternalId, getColumnByKey, getColumnLayers, getColumnRendering, getColumns, getDefaultColumnFactory, getDefaultHeaderRow, getDragFilter, getDropFilter, getDropMode, getEditor, getEmptyStateComponent, getEmptyStateText, getFooterRows, getHeaderRows, getNestedNullBehavior, getPageSize, getPartNameGenerator, getPropertySet, getSelectedItems, getSelectionMode, getSelectionModel, getSelectionPreservationMode, getSortOrder, getTooltipPosition, getUniqueKeyProperty, getUniqueKeyProvider, insertColumnLayer, isAllRowsVisible, isColumnReorderingAllowed, isDetailsVisible, isDetailsVisibleOnClick, isMultiSort, isRowsDraggable, isTooltipMarkdownEnabled, onAttach, onDataProviderChange, onDetach, onEnabledStateChanged, prependFooterRow, prependHeaderRow, recalculateColumnWidths, removeAllColumns, removeAllFooterRows, removeAllHeaderRows, removeColumn, removeColumnByKey, removeColumnLayer, removeColumns, removeFooterRow, removeHeaderRow, removeThemeVariants, scrollToStart, select, setAllRowsVisible, setAriaLabel, setClassNameGenerator, setColumnKey, setColumnOrder, setColumnOrder, setColumnRendering, setColumnReorderingAllowed, setColumns, setDefaultMultiSortPriority, setDetailsVisible, setDetailsVisibleOnClick, setDragDataGenerator, setDragFilter, setDropFilter, setDropMode, setEmptyStateComponent, setEmptyStateText, setItemDetailsRenderer, setItems, setItems, setItemSelectableProvider, setItemsPageable, setItemsPageable, setMultiSort, setMultiSort, setMultiSort, setMultiSort, setNestedNullBehavior, setPageSize, setPartNameGenerator, setRowsDraggable, setSelectionDragDetails, setSelectionMode, setSelectionModel, setSelectionPreservationMode, setSortableColumns, setTooltipGenerator, setTooltipMarkdownEnabled, setTooltipPosition, setUniqueKeyProperty, setUniqueKeyProvider, sort, updateSelectionModeOnClientMethods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, focus, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.data.provider.hierarchy.HasHierarchicalDataProvider
getTreeData, setItems, setItems, setTreeDataMethods inherited from interface com.vaadin.flow.data.provider.HasLazyDataView
setItemsMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
-
Constructor Details
-
TreeGrid
public TreeGrid()Creates a newTreeGridwithout support for creating columns based on property names. Use an alternative constructor, such asTreeGrid(Class), to create aTreeGridthat automatically sets up columns based on the type of presented data. -
TreeGrid
protected TreeGrid(int pageSize, Grid.DataCommunicatorBuilder<T, GridArrayUpdater> dataCommunicatorBuilder) Creates a newTreeGridwithout support for creating columns based on property names. Use an alternative constructor, such asTreeGrid(Class), to create aTreeGridthat automatically sets up columns based on the type of presented data.- Parameters:
pageSize- the page size. Must be greater than zero.dataCommunicatorBuilder- Builder forDataCommunicatorimplementation this Grid uses to handle all data communication.
-
TreeGrid
Creates a newTreeGridwith an initial set of columns for each of the bean's properties. The property-values of the bean will be converted to Strings. Full names of the properties will be used as thecolumn keysand the property captions will be used as thecolumn headers.- Parameters:
beanType- the bean type to use, notnull
-
TreeGrid
Creates a newTreeGridwith an initial set of columns for each of the bean's properties. The property-values of the bean will be converted to Strings. Full names of the properties will be used as thecolumn keysand the property captions will be used as thecolumn headers.When autoCreateColumns is
true, only the direct properties of the bean are included, and they will be in alphabetical order. UseGrid.setColumns(String...)to define which properties to include and in which order. You can also add a column for an individual property withGrid.addColumn(String). Both of these methods support also sub-properties with dot-notation, e.g."property.nestedProperty".- Parameters:
beanType- the bean type to use, notnullautoCreateColumns- whentrue, columns are created automatically for the properties of the beanType
-
TreeGrid
protected TreeGrid(Class<T> beanType, Grid.DataCommunicatorBuilder<T, GridArrayUpdater> dataCommunicatorBuilder) Creates a newTreeGridwith an initial set of columns for each of the bean's properties. The property-values of the bean will be converted to Strings. Full names of the properties will be used as thecolumn keysand the property captions will be used as thecolumn headers.- Parameters:
beanType- the bean type to use, notnulldataCommunicatorBuilder- Builder forDataCommunicatorimplementation this Grid uses to handle all data communication.
-
TreeGrid
Creates a newTreeGridusing the givenHierarchicalDataProvider, without support for creating columns based on property names. Use an alternative constructor, such asTreeGrid(Class), to create aTreeGridthat automatically sets up columns based on the type of presented data.- Parameters:
dataProvider- the data provider, notnull
-
-
Method Details
-
initConnector
protected void initConnector()- Overrides:
initConnectorin classGrid<T>
-
setUniqueKeyDataGenerator
public void setUniqueKeyDataGenerator(String propertyName, ValueProvider<T, String> uniqueKeyProvider) Sets property name and value provider for unique key in row's generated JSON.Default property name is 'key' and value is generated by bean's hashCode method.
- Parameters:
propertyName- Property name in JSON datauniqueKeyProvider- Value provider for the target property in JSON data
-
addExpandListener
Adds an ExpandEvent listener to this TreeGrid.- Parameters:
listener- the listener to add- Returns:
- a registration for the listener
- See Also:
-
addCollapseListener
public Registration addCollapseListener(ComponentEventListener<CollapseEvent<T, TreeGrid<T>>> listener) Adds a CollapseEvent listener to this TreeGrid.- Parameters:
listener- the listener to add- Returns:
- a registration for the listener
- See Also:
-
setDataProvider
Deprecated.Tree grid only supports hierarchical data providers. UsesetDataProvider(HierarchicalDataProvider)instead.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Overrides:
setDataProviderin classGrid<T>- Parameters:
dataProvider- the data provider
-
setDataProvider
Description copied from interface:HasHierarchicalDataProviderSets the hierarchical data provider for this listing. The data provider provides the items and the hierarchy as needed.- Specified by:
setDataProviderin interfaceHasHierarchicalDataProvider<T>- Parameters:
hierarchicalDataProvider- the hierarchical data provider to use, notnull
-
setItems
Deprecated.Tree grid does not support data views. UsesetDataProvider(HierarchicalDataProvider)instead.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
setItemsin interfaceHasLazyDataView<T,Void, GridLazyDataView<T>> - Overrides:
setItemsin classGrid<T>- Parameters:
dataProvider- the data provider- Returns:
- the data view
-
setItems
@Deprecated public GridLazyDataView<T> setItems(CallbackDataProvider.FetchCallback<T, Void> fetchCallback) Deprecated.Tree grid supports only hierarchical data so use another method instead.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
setItemsin interfaceHasLazyDataView<T,Void, GridLazyDataView<T>> - Parameters:
fetchCallback- the fetch callback- Returns:
- the data view
-
setItems
Deprecated.Tree grid supports only hierarchical data providers so use another method instead.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
setItemsin interfaceHasListDataView<T,GridListDataView<T>> - Overrides:
setItemsin classGrid<T>- Parameters:
dataProvider- the data provider- Returns:
- the data view
-
setItems
Deprecated.Tree grid supports only hierarchical data so use another method instead.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
setItemsin interfaceHasListDataView<T,GridListDataView<T>> - Parameters:
items- the items to display, notnull- Returns:
- the data view
-
setItems
Deprecated.Tree grid supports only hierarchical data, so use another method instead.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
setItemsin interfaceHasListDataView<T,GridListDataView<T>> - Parameters:
items- the items to display, notnull- Returns:
- the data view
-
getListDataView
Deprecated.not supportedTree grid does not support list data view.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
getListDataViewin interfaceHasListDataView<T,GridListDataView<T>> - Overrides:
getListDataViewin classGrid<T>- Returns:
- exception is thrown
-
getLazyDataView
Deprecated.not supportedTree grid does not support list data view.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
getLazyDataViewin interfaceHasLazyDataView<T,Void, GridLazyDataView<T>> - Overrides:
getLazyDataViewin classGrid<T>- Returns:
- exception is thrown
-
getGenericDataView
Deprecated.not supportedTree grid does not support list data view.This method is inherited from Grid and has been marked as deprecated to indicate that it is not supported. This method will throw an
UnsupportedOperationException.- Specified by:
getGenericDataViewin interfaceHasDataView<T,Void, GridDataView<T>> - Overrides:
getGenericDataViewin classGrid<T>- Returns:
- exception is thrown
- See Also:
-
addHierarchyColumn
Adds a new Hierarchy column to thisGridwith a value provider. The value is converted to String when sent to the client by usingString.valueOf(Object).Hierarchy column is rendered by using 'vaadin-grid-tree-toggle' web component.
- Parameters:
valueProvider- the value provider- Returns:
- the created hierarchy column
-
addComponentHierarchyColumn
public <V extends Component> Grid.Column<T> addComponentHierarchyColumn(ValueProvider<T, V> componentProvider) Adds a new Hierarchy column that shows components.NOTE: Using
ComponentRendereris not as efficient as the built in renderers.- Type Parameters:
V- the component type- Parameters:
componentProvider- a value provider that will return a component for the given item- Returns:
- the new column
- See Also:
-
setHierarchyColumn
Note: This method can only be used for a TreeGrid created from a bean type withTreeGrid(Class).Resets columns and their order based on bean properties.
This is a shortcut for removing all columns and then calling
Grid.addColumn(String)for each property except hierarchy column in the bean andaddHierarchyColumn(String)for the given propertyName.Previous column order is preserved.
You can add columns for nested properties with dot notation, eg.
"property.nestedProperty"Note that this also resets the headers and footers.
- Parameters:
propertyName- a target hierarchy column property name- Returns:
- the created hierarchy column
-
setHierarchyColumn
Note: This method can only be used for a TreeGrid created from a bean type withTreeGrid(Class).Resets columns and their order based on bean properties.
This is a shortcut for removing all columns and then calling
Grid.addColumn(String)for each property except hierarchy column in the bean andaddHierarchyColumn(String)oraddHierarchyColumn(ValueProvider)for the given propertyName.Previous column order is preserved.
You can add columns for nested properties with dot notation, eg.
"property.nestedProperty"Note that this also resets the headers and footers.
- Parameters:
propertyName- a target hierarchy column property namevalueProvider- optional value provider- Returns:
- the created hierarchy column
-
setColumns
public Grid.Column<T> setColumns(String hierarchyPropertyName, ValueProvider<T, ?> valueProvider, Collection<String> propertyNames) Note: This method can only be used for a TreeGrid created from a bean type withTreeGrid(Class).Sets the columns and their order based on the given properties.
This is a shortcut for removing all columns and then calling
Grid.addColumn(String)for each property except hierarchy property in the bean andaddHierarchyColumn(String)for the given hierarchyPropertyName.You can add columns for nested properties with dot notation, eg.
"property.nestedProperty"Note that this also resets the headers and footers.
- Parameters:
hierarchyPropertyName- a target hierarchy column property namevalueProvider- optional value providerpropertyNames- set of properties to create columns for. Including given hierarchyPropertyName- Returns:
- the hierarchy column
-
expand
Expands the given items.If an item is currently expanded, does nothing. If an item does not have any children, does nothing.
- Parameters:
items- the items to expand
-
expand
Expands the given items.If an item is currently expanded, does nothing. If an item does not have any children, does nothing.
- Parameters:
items- the items to expand
-
expand
Expands the given items.- Parameters:
items- the items to expanduserOriginated-trueif aExpandEventtriggered by this operation is user originated,falseotherwise.
-
expandRecursively
Expands the given items and their children recursively until the given depth.depthdescribes the maximum distance between a given item and its descendant, meaning thatexpandRecursively(items, 0)expands only the given items whileexpandRecursively(items, 2)expands the given items as well as their children and grandchildren.This method will not fire events for expanded nodes.
- Parameters:
items- the items to expand recursivelydepth- the maximum depth of recursion- Since:
- 8.4
-
expandRecursively
Expands the given items and their children recursively until the given depth.depthdescribes the maximum distance between a given item and its descendant, meaning thatexpandRecursively(items, 0)expands only the given items whileexpandRecursively(items, 2)expands the given items as well as their children and grandchildren.This method will not fire events for expanded nodes.
- Parameters:
items- the items to expand recursivelydepth- the maximum depth of recursion- Since:
- 8.4
-
collapse
Collapse the given items.For items that are already collapsed, does nothing.
- Parameters:
items- the collection of items to collapse
-
collapse
Collapse the given items.For items that are already collapsed, does nothing.
- Parameters:
items- the collection of items to collapse
-
collapse
Collapse the given items.- Parameters:
items- the collection of items to collapseuserOriginated-trueif aCollapseEventtriggered by this operation is user originated,falseotherwise.
-
collapseRecursively
Collapse the given items and their children recursively until the given depth.depthdescribes the maximum distance between a given item and its descendant, meaning thatcollapseRecursively(items, 0)collapses only the given items whilecollapseRecursively(items, 2)collapses the given items as well as their children and grandchildren.This method will not fire events for collapsed nodes.
- Parameters:
items- the items to collapse recursivelydepth- the maximum depth of recursion- Since:
- 8.4
-
collapseRecursively
Collapse the given items and their children recursively until the given depth.depthdescribes the maximum distance between a given item and its descendant, meaning thatcollapseRecursively(items, 0)collapses only the given items whilecollapseRecursively(items, 2)collapses the given items as well as their children and grandchildren.This method will not fire events for collapsed nodes.
- Parameters:
items- the items to collapse recursivelydepth- the maximum depth of recursion- Since:
- 8.4
-
getItemsWithChildrenRecursively
Gets given items and their children recursively until the given depth.depthdescribes the maximum distance between a given item and its descendant, meaning thatgetItemsWithChildrenRecursively(items, 0)gets only the given items whilegetItemsWithChildrenRecursively(items, 2)gets the given items as well as their children and grandchildren.- Parameters:
items- the items to expand recursivelydepth- the maximum depth of recursion- Returns:
- collection of given items and their children recursively until the given depth
-
isExpanded
Returns whether a given item is expanded or collapsed.- Parameters:
item- the item to check- Returns:
- true if the item is expanded, false if collapsed
-
getDataCommunicator
Description copied from class:GridReturns the data communicator of this Grid.- Overrides:
getDataCommunicatorin classGrid<T>- Returns:
- the data communicator, not
null
-
getDataProvider
Description copied from class:GridReturns the data provider of this grid.To get information and control over the items in the grid, use either
Grid.getListDataView()orGrid.getLazyDataView()instead.- Specified by:
getDataProviderin interfaceHasHierarchicalDataProvider<T>- Overrides:
getDataProviderin classGrid<T>- Returns:
- the data provider of this grid, not
null
-
scrollToIndex
public void scrollToIndex(int index) Scrolls to the index of an item so that the row is shown at the start of the visible area whenever possible. The way theindexparameter is interpreted depends on thehierarchy formatof the current data provider:HierarchicalDataProvider.HierarchyFormat.NESTED: the index refers to an item in the root level. To reach items in deeper levels, usescrollToIndex(int...), which accepts a hierarchical path.HierarchicalDataProvider.HierarchyFormat.FLATTENED: the index refers to an item in the entire flattened tree, not only the root level, allowing items at any expanded level to be reached with this method.If the index exceeds the valid range, scrolling stops at the last available item.
- Overrides:
scrollToIndexin classGrid<T>- Parameters:
index- zero based index of the item to scroll to
-
scrollToIndex
public void scrollToIndex(int... path) Scrolls to a nested item specified by its hierarchical path.The hierarchical path is an array of zero-based indexes, where each index refers to a child of the item at the previous index. Scrolling continues until it reaches the last index in the array or encounters a collapsed item.
For example, given
{ 2, 1, ... }as the path, the component will first try to scroll to the item at index 2 in the root level. If that item is expanded, it will then try to scroll to the item at index 1 among its children, and so forth.This method is only supported for data providers that use
HierarchicalDataProvider.HierarchyFormat.NESTED. ForHierarchicalDataProvider.HierarchyFormat.FLATTENED, usescrollToIndex(int)with a flat index instead.- Parameters:
path- an array of indexes representing the path to the target item- Throws:
IllegalArgumentException- if the path is emptyUnsupportedOperationException- if the data provider uses a hierarchy format other thanHierarchicalDataProvider.HierarchyFormat.NESTED
-
scrollToEnd
public void scrollToEnd()Description copied from class:GridScrolls to the last data row of the grid.- Overrides:
scrollToEndin classGrid<T>
-
scrollToItem
Scrolls to an item within the tree. If the ancestors of the item are not expanded, this method expands them before scrolling. Does not fire anyExpandEvents for the ancestors expanded during scrolling.In order to be able to use this method, the data provider should implement
andinvalid reference
HierarchicalDataProvider#getParent(T). The following table shows which methods have to be explicitly implemented based on the data provider types.invalid reference
HierarchicalDataProvider#getItemIndex(T, HierarchicalQuery)HierarchicalDataProvider isInMemory()invalid reference
getItemIndex()invalid reference
getParent()HierarchyFormat.NESTEDtrue not required required HierarchyFormat.NESTEDfalse required required HierarchyFormat.FLATTENEDtrue not required required HierarchyFormat.FLATTENEDfalse required required TreeDataProvidertrue not required not required - Overrides:
scrollToItemin classGrid<T>- Parameters:
item- the item to scroll to- Throws:
NoSuchElementException- if the item does not belong to the tree
-