Package com.smartgwt.client.widgets.tree

# Class TreeGrid

java.lang.Object
com.google.gwt.user.client.ui.UIObject
com.google.gwt.user.client.ui.Widget
com.smartgwt.client.widgets.BaseWidget
com.smartgwt.client.widgets.Canvas
com.smartgwt.client.widgets.layout.Layout
com.smartgwt.client.widgets.layout.VLayout
com.smartgwt.client.widgets.grid.ListGrid
com.smartgwt.client.widgets.tree.TreeGrid

All Implemented Interfaces:
  `HasAttachHandlers`, `HasHandlers`, `EventListener`, `HasVisibility`, `IsWidget`, `LogicalStructure`, `DataBoundComponent`, `HasClearHandlers`, `HasClickHandlers`, `HasDoubleClickHandlers`, `HasDragCompleteHandlers`, `HasDragMoveHandlers`, `HasDragRepositionMoveHandlers`, `HasDragRepositionStartHandlers`, `HasDragRepositionStopHandlers`, `HasDragResizeMoveHandlers`, `HasDragResizeStartHandlers`, `HasDragResizeStopHandlers`, `HasDragStartHandlers`, `HasDragStopHandlers`, `HasDropCompleteHandlers`, `HasDropHandlers`, `HasDropMoveHandlers`, `HasDropOutHandlers`, `HasDropOverHandlers`, `HasFetchDataHandlers`, `HasFocusChangedHandlers`, `HasFormulaUpdatedHandlers`, `HasHoverHandlers`, `HasHoverHiddenHandlers`, `HasKeyDownHandlers`, `HasKeyPressHandlers`, `HasMouseDownHandlers`, `HasMouseMoveHandlers`, `HasMouseOutHandlers`, `HasMouseOverHandlers`, `HasMouseStillDownHandlers`, `HasMouseUpHandlers`, `HasMouseWheelHandlers`, `HasMovedHandlers`, `HasParentMovedHandlers`, `HasResizedHandlers`, `HasRightMouseDownHandlers`, `HasRuleContextChangedHandlers`, `HasScrolledHandlers`, `HasShowContextMenuHandlers`, `HasVisibilityChangedHandlers`, `HasBodyKeyPressHandlers`, `HasCellClickHandlers`, `HasCellContextClickHandlers`, `HasCellDoubleClickHandlers`, `HasCellErrorIconHoverHandlers`, `HasCellErrorIconOutHandlers`, `HasCellErrorIconOverHandlers`, `HasCellHoverHandlers`, `HasCellMouseDownHandlers`, `HasCellMouseUpHandlers`, `HasCellOutHandlers`, `HasCellOverHandlers`, `HasCellSavedHandlers`, `HasCellSelectionChangedHandlers`, `HasCellValueHoverHandlers`, `HasCriteriaChangedHandlers`, `HasDataArrivedHandlers`, `HasDataChangedHandlers`, `HasDrawAreaChangedHandlers`, `HasEditCompleteHandlers`, `HasEditFailedHandlers`, `HasEditorEnterHandlers`, `HasEditorExitHandlers`, `HasFieldStateChangedHandlers`, `HasFilterEditorSubmitHandlers`, `HasGroupByCompleteHandlers`, `HasGroupByHandlers`, `HasGroupStateChangedHandlers`, `HasGroupTreeChangedHandlers`, `HasHeaderClickHandlers`, `HasHeaderDoubleClickHandlers`, `HasHeaderHoverHandlers`, `HasHilitesChangedHandlers`, `HasRecordClickHandlers`, `HasRecordCollapseHandlers`, `HasRecordDoubleClickHandlers`, `HasRecordDropHandlers`, `HasRecordExpandHandlers`, `HasRegroupHandlers`, `HasRemoveRecordClickHandlers`, `HasRowContextClickHandlers`, `HasRowEditorEnterHandlers`, `HasRowEditorExitHandlers`, `HasRowHoverHandlers`, `HasRowMouseDownHandlers`, `HasRowMouseUpHandlers`, `HasRowOutHandlers`, `HasRowOverHandlers`, `HasSelectionChangedHandlers`, `HasSelectionUpdatedHandlers`, `HasSetSortHandlers`, `HasSortChangedHandlers`, `HasSorterClickHandlers`, `HasSorterContextClickHandlers`, `HasViewStateChangedHandlers`, `HasMembersChangedHandlers`, `HasDataArrivedHandlers`, `HasDataChangedHandlers`, `HasFolderClickHandlers`, `HasFolderClosedHandlers`, `HasFolderContextClickHandlers`, `HasFolderDropHandlers`, `HasFolderOpenedHandlers`, `HasLeafClickHandlers`, `HasLeafContextClickHandlers`, `HasNodeClickHandlers`, `HasNodeContextClickHandlers`

Direct Known Subclasses:
  `EditTree`, `TreePalette`

public class TreeGrid extends ListGrid implements HasDataArrivedHandlers, HasDataChangedHandlers, HasFolderClickHandlers, HasFolderClosedHandlers, HasFolderContextClickHandlers, HasFolderOpenedHandlers, HasLeafClickHandlers, HasLeafContextClickHandlers, HasNodeClickHandlers, HasNodeContextClickHandlers, HasFolderDropHandlers
The Smart GWT system supports hierarchical data (also referred to as tree data due to its "branching" organization) with:

- the `Tree` class, which manipulates hierarchical data sets
- the TreeGrid widget class, which extends the ListGrid class to visually present tree data in an expandable/collapsible format.

For information on DataBinding Trees, see `TreeDataBinding`.

A TreeGrid works just like a `ListGrid`, except one column (specified by `TreeGridField.treeField`) shows a hierarchical `Tree`. A TreeGrid is not limited to displaying just the `Tree` column - you can define additional columns (via `fields`) which will render just like the columns of a `ListGrid`, and support all of the functionality of ListGrid columns, such as `formatters`.

Except where explicitly overridden, `ListGrid` methods, callbacks, and properties apply to TreeGrids as well. The `ListGrid` defines some methods as taking/returning `ListGridField` and `ListGridRecord`. When using those methods in a TreeGrid, those types will be `TreeGridField` and `TreeNode`, respectively.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

  `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

  `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

  ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

  `DEBUG_ID_PREFIX`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TreeGrid()`
  `TreeGrid(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `HandlerRegistration`
  `addDataArrivedHandler(DataArrivedHandler handler)`
  Add a dataArrived handler.
  `HandlerRegistration`
  `addDataChangedHandler(DataChangedHandler handler)`
  Add a dataChanged handler.
  `HandlerRegistration`
  `addFolderClickHandler(FolderClickHandler handler)`
  Add a folderClick handler.
  `HandlerRegistration`
  `addFolderClosedHandler(FolderClosedHandler handler)`
  Add a folderClosed handler.
  `HandlerRegistration`
  `addFolderContextClickHandler(FolderContextClickHandler handler)`
  Add a folderContextClick handler.
  `HandlerRegistration`
  `addFolderDropHandler(FolderDropHandler handler)`
  Add a folderDrop handler.
  `HandlerRegistration`
  `addFolderOpenedHandler(FolderOpenedHandler handler)`
  Add a folderOpened handler.
  `HandlerRegistration`
  `addLeafClickHandler(LeafClickHandler handler)`
  Add a leafClick handler.
  `HandlerRegistration`
  `addLeafContextClickHandler(LeafContextClickHandler handler)`
  Add a leafContextClick handler.
  `HandlerRegistration`
  `addNodeClickHandler(NodeClickHandler handler)`
  Add a nodeClick handler.
  `HandlerRegistration`
  `addNodeContextClickHandler(NodeContextClickHandler handler)`
  Add a nodeContextClick handler.
  `HandlerRegistration`
  `addRecordDropHandler(RecordDropHandler handler)`
  This ListGrid superclass event does not fire on a TreeGrid, use `addFolderDropHandler(com.smartgwt.client.widgets.tree.events.FolderDropHandler)` instead.
  `Boolean`
  `canEditCell()`
  Overridden to disallow editing of the `name` field of this grid's data tree.
  `static void`
  `changeAutoChildDefaults(String autoChildName, Canvas defaults)`
  Changes the defaults for Canvas AutoChildren named `autoChildName`.
  `static void`
  `changeAutoChildDefaults(String autoChildName, FormItem defaults)`
  Changes the defaults for FormItem AutoChildren named `autoChildName`.
  `void`
  `closeFolder(TreeNode node)`
  Closes a folder.
  `protected JavaScriptObject`
  `create()`
  `void`
  `exportClientData()`
  Exports this component's data with client-side formatters applied, so is suitable for direct display to users.
  `void`
  `exportClientData(DSRequest requestProperties)`
  `void`
  `exportClientData(DSRequest requestProperties, RPCCallback callback)`
  Exports this component's data with client-side formatters applied, so is suitable for direct display to users.
  `void`
  `fetchData()`
  Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.
  `void`
  `fetchData(Criteria criteria)`
  Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.
  `void`
  `fetchData(Criteria criteria, DSCallback callback)`
  Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.
  `void`
  `fetchData(Criteria criteria, DSCallback callback, DSRequest requestProperties)`
  Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.
  `void`
  `filterData(Criteria criteria)`
  Retrieves data that matches the provided criteria and displays the matching data in this component.
  `void`
  `filterData(Criteria criteria, DSCallback callback)`
  Retrieves data that matches the provided criteria and displays the matching data in this component.
  `void`
  `filterData(Criteria criteria, DSCallback callback, DSRequest requestProperties)`
  Retrieves data that matches the provided criteria and displays the matching data in this component.
  `Boolean`
  `getAlwaysShowOpener()`
  If `showOpener` is true, should we display the opener icon for folders even if they have no children?
  `AnimationAcceleration`
  `getAnimateFolderEffect()`
  When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
  `Integer`
  `getAnimateFolderMaxRows()`
  If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
  `Boolean`
  `getAnimateFolders()`
  If true, when folders are opened / closed children will be animated into view.
  `int`
  `getAnimateFolderSpeed()`
  When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
  `int`
  `getAnimateFolderTime()`
  When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
  `boolean`
  `getAutoAssignTreeField()`
  If this grid was passed an explicit set of fields, but no field was specified as the "tree-field" (showing indentations for tree hierarchy and tree icons), should we assign one of the other fields to be the tree-field?
  `TextMatchStyle`
  `getAutoFetchTextMatchStyle()`
  With `loadDataOnDemand`:true, TreeGrids fetch data by selecting the child nodes of each parent, which should be exact match, so we default to `autoFetchTextMatchStyle:"exact"` when autoFetchData is true.
  `String`
  `getAutoOpenTree()`
  Which nodes should be opened automatically.
  `PreserveOpenState`
  `getAutoPreserveOpenState()`
  For dataBound treeGrids this specifies the `ResultTree.autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
  `Boolean`
  `getCanAcceptDroppedRecords()`
  Indicates whether records can be dropped into this listGrid.
  `Boolean`
  `getCanDragRecordsOut()`
  Indicates whether records can be dragged from this listGrid and dropped elsewhere.
  `Boolean`
  `getCanDropOnLeaves()`
  Whether drops are allowed on leaf nodes.
  `boolean`
  `getCanDropSiblingAfterLastNode()`
  When performing a drag and drop to add or move data within the tree, should users be able to make the dropped node a sibling of the last node in the tree by dropping just below it?
  `Boolean`
  `getCanReorderRecords()`
  Indicates whether records can be reordered by dragging within this `ListGrid`.
  `Boolean`
  `getCanReparentNodes()`
  If set this property allows the user to reparent nodes by dragging them from their current folder to a new folder.
  Backcompat: For backwards compatibility with versions prior to Smart GWT 1.5, if this property is unset, but `this.canAcceptDroppedRecords` is true, we allow nodes to be dragged to different folders.
  `Boolean`
  `getCanSelectAll()`
  This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
  `String`
  `getCantDragIntoChildMessage()`
  Message displayed when user attempts to drop a node into a child of itself.
  `String`
  `getCantDragIntoSelfMessage()`
  Message displayed when user attempts to drop a dragged node onto itself.
  `String`
  `getCantDragMultipleNodeOccurencesMessage()`
  For `Multi-link trees` only, the message displayed when the user attempts to drag two or more occurrences of the same node into a parent.
  `Boolean`
  `getCascadeSelection()`
  Should children be selected when parent is selected? And should parent be selected when any child is selected?
  `Alignment`
  `getCellAlign(ListGridRecord record, int rowNum, int colNum)`
  Return the horizontal alignment for cell contents.
  `String`
  `getChildCannotBeItsOwnAncestorMessage()`
  Message displayed when user attempts to drop a node into a parent that has the same ID as the dropped node somewhere in its ancestor chain (ie, the same node as the parent, or grandparent, and so on)
  `String`
  `getClosedIconSuffix()`
  This suffix will be appended to the `folderIcon` for closed folders.
  `Integer`
  `getConnectorIconWidth()`
  Width in pixels of the connector-icons, that is, the icons which show the open or closed state of the node when using `connectors`, typically a [+] or [-] symbol with connecting lines.
  `String`
  `getConnectorImage()`
  The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true.
  `SCStatefulImgConfig`
  `getConnectorImageAsSCStatefulImgConfig()`
  The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true.
  `Boolean`
  `getCreateDefaultTreeField()`
  If no fields are specified, create a single field with `TreeGridField.treeField` set to `true` to show the tree.
  `String`
  `getCustomIconDropProperty()`
  This property allows the developer to rename the `default node.showDropIcon` property.
  `String`
  `getCustomIconOpenProperty()`
  This property allows the developer to rename the `default node.showOpenIcon` property.
  `String`
  `getCustomIconProperty()`
  This property allows the developer to rename the `default node.icon` property.
  `String`
  `getCustomIconSelectedProperty()`
  This property allows the developer to rename the `default node.showSelectedIcon` property.
  `Tree`
  `getData()`
  A `Tree` object containing of nested `TreeNode`s to display as rows in this TreeGrid.
  `String`
  `getDataArity()`
  A TreeGrid is a `dataArity`:multiple component.
  `FetchMode`
  `getDataFetchMode()`
  Mode of fetching records from server.
  `Tree`
  `getDataProperties()`
  For a `TreeGrid` that uses a DataSource, these properties will be passed to the automatically-created ResultTree.
  `DisplayNodeType`
  `getDisplayNodeType()`
  Specifies the type of nodes displayed in the treeGrid.
  `NodeLocator[]`
  `getDraggedNodeLocators(TreeGrid source)`
  NOTE: Applicable only to `multi-link trees`; if called on a regular `TreeGrid`, returns an empty array.
  `Integer`
  `getDropEndSpace()`
  If `showDropEndSpace` is set to true, this property governs how large the space under the last node during drop should be.
  `TreeNode`
  `getDropFolder()`
  When the user is dragging a droppable element over this grid, this method returns the folder&#010 which would contain the item if dropped.
  `String`
  `getDropIconSuffix()`
  If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
  `int`
  `getEventRow()`
  Returns the row number of the provided Y-coordinate, or the most recent mouse event if a Y-coordinate is not provided.
  `int`
  `getEventRow(Integer y)`
  Returns the row number of the provided Y-coordinate, or the most recent mouse event if a Y-coordinate is not provided.
  `String`
  `getExtraIcon(TreeNode node)`
  Get an additional icon to show between the open icon and folder/node icon for a particular node.
  `int`
  `getExtraIconGap()`
  The amount of gap (in pixels) between the extraIcon (see `getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
  `String`
  `getFolderIcon()`
  The URL of the base icon for all folder nodes in this treeGrid.
  `Integer`
  `getFolderIconPadding()`
  Default padding to show between folder icon and cell value in the tree cell.
  `String`
  `getGroupByField()`
  Not applicable to TreeGrids, as the `data` already represents a tree.
  `String[]`
  `getGroupByFieldAsStringArray()`
  Not applicable to TreeGrids, as the `data` already represents a tree.
  `protected String`
  `getIcon(Record node, boolean defaultState)`
  Get the appropriate icon for a node.&#010
  `String`
  `getIconBaseStyle()`
  The base CSS class to apply to icons used in this grid.
  `Integer`
  `getIconPadding()`
  Default padding to show between the folder or leaf node icon and cell value in the tree cell.
  `String`
  `getIconPaddingProperty()`
  This property allows the developer to specify custom `iconPadding` for specific nodes
  `int`
  `getIconSize()`
  The standard size (same height and width, in pixels) of node icons in this treeGrid.
  `Boolean`
  `getIndentRecordComponents()`
  For record components placed "within" the `treeField` column, should the component be indented to the position where a title would normally show?
  `int`
  `getIndentSize()`
  The amount of indentation (in pixels) to add to a node's icon/title for each level down in this tree's hierarchy.
  `Boolean`
  `getKeepParentsOnFilter()`
  If set, tree-based filtering is performed such that parent nodes are kept as long as they have children that match the filter criteria, even if the parents themselves do not match the filter criteria.
  `Boolean`
  `getLeaveSelectionCheckboxGap()`
  If `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected, should a gap be left where the checkbox icon would normally appear, in order to make the node's icon and title line up with the content for other nodes in the same parent?
  `Boolean`
  `getLoadDataOnDemand()`
  For databound treeGrid instances, should the entire tree of data be loaded on initial fetch, or should folders load their children as they are opened.
  `String`
  `getLoadingIcon()`
  If `showLoadingIcons` is set, this icon will be used when the folder is `loading children from the server`.
  `LogicalStructureObject`
  `getLogicalStructure()`
  Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `String`
  `getManyItemsImage()`
  The filename of the icon displayed use as the default drag tracker when for multiple files and/or folders are being dragged.
  `String`
  `getNodeIcon()`
  The filename of the default icon for all leaf nodes in this grid.
  `protected String`
  `getNodeTitle(Record node, int recordNum, ListGridField field)`
  &#010 Returns the title to show for a node in the tree column.
  `String`
  `getOfflineNodeMessage()`
  For TreeGrids with loadDataOnDemand: true, a message to show the user if an attempt is made to open a folder, and thus load that node's children, while we are offline and there is no offline cache of that data.
  `Integer`
  `getOpenerIconHeight()`
  Height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.
  `Integer`
  `getOpenerIconSize()`
  Default width and height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol, if not overridden by `openerIconWidth`/`openerIconHeight`.
  `Integer`
  `getOpenerIconWidth()`
  Width in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.
  `String`
  `getOpenerImage()`
  The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid.
  `SCStatefulImgConfig`
  `getOpenerImageAsSCStatefulImgConfig()`
  The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid.
  `String`
  `getOpenIcon(TreeNode node)`
  Get the appropriate open/close opener icon for a node.
  `Integer`
  `getOpenIconPadding()`
  Default padding to show between the `openIcon` and the extra or folder icon in the tree cell.
  `String`
  `getOpenIconSuffix()`
  If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
  `String`
  `getOpenState()`
  Returns a snapshot of the current open state of this grid's data as a `TreeGridOpenState` object.
  This object can be passed to `setOpenState()` to open the same set of folders within the treeGrid's data (assuming the nodes are still present in the data).
  `static TreeGrid`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `String`
  `getParentAlreadyContainsChildMessage()`
  Message displayed when user attempts to drag a node into a parent that already contains a child of the same name/ID.
  `TreeNode`
  `getRecord(int recordNum)`
  Return the pointer to a particular record by record number.
  `RecordDropAppearance`
  `getRecordDropAppearance()`
  If `canAcceptDroppedRecords` is true for this treeGrid, this property governs whether the user can drop between, or over records within the grid.
  `ListGridRecord[]`
  `getRecords()`
  Return the tree nodes as a flat array of ListGridRecords.
  `Boolean`
  `getSaveOpenStateInViewState()`
  Should the current `open state` of the tree be included along with other details when saving this grid's `view-state`?
  `String`
  `getSelectedIconSuffix()`
  If `showSelectedIcons` is true, this suffix will be appended to the `folderIcon` for selected nodes in this grid.
  `String`
  `getSelectedPaths()`
  Returns a snapshot of the current selection within this treeGrid as a `ListGridSelectedState` object.
  This object can be passed to `setSelectedPaths()` to reset this grid's selection the current state (assuming the same data is present in the grid).
  `TreeNode`
  `getSelectedRecord()`
  Return the first selected record in this component.
  This method is appropriate if ``selectionType`` is `"single"`, or if you only care about the first selected record in a multiple-record selection.
  `String`
  `getSelectionProperty()`
  If specified, the selection object for this list will use this property to mark records as selected.
  `Boolean`
  `getSeparateFolders()`
  If specified, this attribute will override `Tree.separateFolders` on the data for this treeGrid.
  `String[]`
  `getServerFilterFields()`
  For `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.
  `Boolean`
  `getShowConnectors()`
  Should this treeGrid show connector lines illustrating the tree's hierarchy?
  `Boolean`
  `getShowCustomIconDrop()`
  Should folder nodes showing custom icons (set via the `customIconProperty`, default `TreeNode.icon`), show drop state images when the user is drop-hovering over the folder.
  `Boolean`
  `getShowCustomIconOpen()`
  Should folder nodes showing custom icons (set via the `customIconProperty`), show open state images when the folder is opened.
  `Boolean`
  `getShowCustomIconSelected()`
  Should folder nodes showing custom icons (set via the `customIconProperty`), show selected state images when the folder is selected, if `showSelectedIcons` is true?
  `Boolean`
  `getShowDisabledSelectionCheckbox()`
  Should tree nodes show a disabled checkbox `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected?
  `boolean`
  `getShowDropEndSpace()`
  When the user drags over the treeGrid body, should the grid show some space under the last node in the grid allowing the user to drop after the last node? The height of this space can be customized via `dropEndSpace`
  `Boolean`
  `getShowDropIcons()`
  If true, when the user drags a droppable target over a folder in this TreeGrid, show a different folder icon.
  `Boolean`
  `getShowFolderIcons()`
  Should folder nodes in this TreeGrid show icons by default?
  `Boolean`
  `getShowFullConnectors()`
  If `showConnectors` is true, this property determines whether we should show vertical continuation lines for each level of indenting within the tree.
  `boolean`
  `getShowLoadingIcons()`
  If set, when a folder is loading its children from the server (`Tree.getLoadState()` returns "loading"), it uses a distinct icon image given by `loadingIcon`.
  `Boolean`
  `getShowNodeIcons()`
  Should nodes in this TreeGrid show folder / leaf node icons by default?
  `Boolean`
  `getShowOpener()`
  Should the opener icon be displayed next to folder nodes? This is an icon which visually indicates whether the folder is opened or closed (typically via a [+] or [-] image, or a turn-down arrow) and may be clicked to expand or collapse the folder.
  `Boolean`
  `getShowOpenIcons()`
  If true, show a different icon for `open` folders than closed folders.
  `Boolean`
  `getShowPartialSelection()`
  Should partially selected parents be shown with special icon?
  `Boolean`
  `getShowRoot()`
  Specifies whether the root node should be displayed in the treeGrid.
  `Boolean`
  `getShowSelectedIcons()`
  If true, show a different icon for selected nodes than unselected nodes.
  `Boolean`
  `getShowSelectedOpener()`
  If `showOpener` is true, should a different opener icon be displayed for selected nodes? This provides a way for developers to show a "selected" version of the opener icon set which looks optimal with the `selected appearance` applied the selected record.
  `Boolean`
  `getSortFoldersBeforeLeaves()`
  If specified, this attribute will override `Tree.sortFoldersBeforeLeaves` on the data for this treeGrid.
  `Tree`
  `getTree()`
  Synonym for `getData()`
  `int`
  `getTreeFieldMinWidth()`
  Default `minimum width` for the `treeField`.
  `String`
  `getTreeFieldTitle()`
  Visible title for the tree column (field).
  `String`
  `getTreeRootValue()`
  For databound trees, use this attribute to supply a `DataSourceField.rootValue` for this component's generated data object.
  `Boolean`
  `getUseAllDataSourceFields()`
  If true, the set of fields given by the "default binding" (see `DataBoundComponent.fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.
  `void`
  `groupBy()`
  Not applicable to TreeGrids, as the `data` already represents a tree.
  `boolean`
  `isExportingClientData()`
  Returns true if this component is currently `exporting client data`.
  `Boolean`
  `isOverExtraIcon()`
  Returns true if the last event occurred over `extra icon` for the current node.
  `Boolean`
  `isOverOpenArea()`
  Returns true if the last event occurred over the indented area or over the open / close icon of a folder node in this TreeGrid.
  `Boolean`
  `loadAllRecords()`
  This method is not currently supported for this grid-type.
  `Boolean`
  `loadAllRecords(Integer maxRecords)`
  `Boolean`
  `loadAllRecords(Integer maxRecords, DSCallback callback)`
  This method is not currently supported for this grid-type.
  `protected void`
  `onInit()`
  `void`
  `openFolder(TreeNode node)`
  Opens a folder.
  `void`
  `openFolder(TreeNode node, String path)`
  Opens a folder.
  `boolean`
  `recordDoubleClick(TreeGrid viewer, TreeNode record, int recordNum, TreeGridField field, int fieldNum, Map value, Map rawValue)`
  Handle a doubleClick on a tree node - override of ListGrid stringMethod of same name.
  `TreeGrid`
  `setAlwaysShowOpener(Boolean alwaysShowOpener)`
  If `showOpener` is true, should we display the opener icon for folders even if they have no children?
  `TreeGrid`
  `setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)`
  When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
  `TreeGrid`
  `setAnimateFolderMaxRows(Integer animateFolderMaxRows)`
  If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
  `TreeGrid`
  `setAnimateFolders(Boolean animateFolders)`
  If true, when folders are opened / closed children will be animated into view.
  `TreeGrid`
  `setAnimateFolderSpeed(int animateFolderSpeed)`
  When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
  `TreeGrid`
  `setAnimateFolderTime(int animateFolderTime)`
  When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
  `TreeGrid`
  `setAutoAssignTreeField(boolean autoAssignTreeField)`
  If this grid was passed an explicit set of fields, but no field was specified as the "tree-field" (showing indentations for tree hierarchy and tree icons), should we assign one of the other fields to be the tree-field?
  `TreeGrid`
  `setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)`
  With `loadDataOnDemand`:true, TreeGrids fetch data by selecting the child nodes of each parent, which should be exact match, so we default to `autoFetchTextMatchStyle:"exact"` when autoFetchData is true.
  `TreeGrid`
  `setAutoOpenTree(String autoOpenTree)`
  Which nodes should be opened automatically.
  `TreeGrid`
  `setAutoPreserveOpenState(PreserveOpenState autoPreserveOpenState)`
  For dataBound treeGrids this specifies the `ResultTree.autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
  `TreeGrid`
  `setCanAcceptDroppedRecords(Boolean canAcceptDroppedRecords)`
  Indicates whether records can be dropped into this listGrid.
  `TreeGrid`
  `setCanDragRecordsOut(Boolean canDragRecordsOut)`
  Indicates whether records can be dragged from this listGrid and dropped elsewhere.
  `TreeGrid`
  `setCanDropOnLeaves(Boolean canDropOnLeaves)`
  Whether drops are allowed on leaf nodes.
  `TreeGrid`
  `setCanDropSiblingAfterLastNode(boolean canDropSiblingAfterLastNode)`
  When performing a drag and drop to add or move data within the tree, should users be able to make the dropped node a sibling of the last node in the tree by dropping just below it?
  `TreeGrid`
  `setCanReorderRecords(Boolean canReorderRecords)`
  Indicates whether records can be reordered by dragging within this `ListGrid`.
  `TreeGrid`
  `setCanReparentNodes(Boolean canReparentNodes)`
  If set this property allows the user to reparent nodes by dragging them from their current folder to a new folder.
  Backcompat: For backwards compatibility with versions prior to Smart GWT 1.5, if this property is unset, but `this.canAcceptDroppedRecords` is true, we allow nodes to be dragged to different folders.
  `TreeGrid`
  `setCanSelectAll(Boolean canSelectAll)`
  This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
  `TreeGrid`
  `setCantDragIntoChildMessage(String cantDragIntoChildMessage)`
  Message displayed when user attempts to drop a node into a child of itself.
  `TreeGrid`
  `setCantDragIntoSelfMessage(String cantDragIntoSelfMessage)`
  Message displayed when user attempts to drop a dragged node onto itself.
  `TreeGrid`
  `setCantDragMultipleNodeOccurencesMessage(String cantDragMultipleNodeOccurencesMessage)`
  For `Multi-link trees` only, the message displayed when the user attempts to drag two or more occurrences of the same node into a parent.
  `TreeGrid`
  `setCascadeSelection(Boolean cascadeSelection)`
  Should children be selected when parent is selected? And should parent be selected when any child is selected?
  `void`
  `setCellValueHoverFormatter(CellValueHoverFormatter formatter)`
  Provide a custom implementation of `ListGrid.cellValueHoverHTML(ListGridRecord, int, int, String)`.
  `TreeGrid`
  `setChildCannotBeItsOwnAncestorMessage(String childCannotBeItsOwnAncestorMessage)`
  Message displayed when user attempts to drop a node into a parent that has the same ID as the dropped node somewhere in its ancestor chain (ie, the same node as the parent, or grandparent, and so on)
  `TreeGrid`
  `setClosedIconSuffix(String closedIconSuffix)`
  This suffix will be appended to the `folderIcon` for closed folders.
  `TreeGrid`
  `setConnectorIconWidth(Integer connectorIconWidth)`
  Width in pixels of the connector-icons, that is, the icons which show the open or closed state of the node when using `connectors`, typically a [+] or [-] symbol with connecting lines.
  `TreeGrid`
  `setConnectorImage(SCStatefulImgConfig connectorImage)`
  The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true.
  `TreeGrid`
  `setConnectorImage(String connectorImage)`
  The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true.
  `TreeGrid`
  `setCreateDefaultTreeField(Boolean createDefaultTreeField)`
  If no fields are specified, create a single field with `TreeGridField.treeField` set to `true` to show the tree.
  `TreeGrid`
  `setCustomIconDropProperty(String customIconDropProperty)`
  This property allows the developer to rename the `default node.showDropIcon` property.
  `TreeGrid`
  `setCustomIconOpenProperty(String customIconOpenProperty)`
  This property allows the developer to rename the `default node.showOpenIcon` property.
  `TreeGrid`
  `setCustomIconProperty(String customIconProperty)`
  This property allows the developer to rename the `default node.icon` property.
  `TreeGrid`
  `setCustomIconSelectedProperty(String customIconSelectedProperty)`
  This property allows the developer to rename the `default node.showSelectedIcon` property.
  `void`
  `setCustomNodeIcon(Record node, String icon)`
  Set the icon for a particular TreeNode to a specified URL
  `void`
  `setData(Tree data)`
  A `Tree` object containing of nested `TreeNode`s to display as rows in this TreeGrid.
  `TreeGrid`
  `setDataArity(String dataArity)`
  A TreeGrid is a `dataArity`:multiple component.
  `TreeGrid`
  `setDataFetchMode(FetchMode dataFetchMode)`
  Mode of fetching records from server.
  `void`
  `setDataProperties(Tree resultTreeProperties)`
  For databound TreeGrids, this attribute can be used to customize the `com.smartgwt.client.tree.ResultTree` object created for this grid when data is fetched.
  `static void`
  `setDefaultProperties(TreeGrid treeGridProperties)`
  Class level method to set the default properties of this class.
  `TreeGrid`
  `setDisplayNodeType(DisplayNodeType displayNodeType)`
  Specifies the type of nodes displayed in the treeGrid.
  `TreeGrid`
  `setDropEndSpace(Integer dropEndSpace)`
  If `showDropEndSpace` is set to true, this property governs how large the space under the last node during drop should be.
  `TreeGrid`
  `setDropIconSuffix(String dropIconSuffix)`
  If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
  `TreeGrid`
  `setExtraIconGap(int extraIconGap)`
  The amount of gap (in pixels) between the extraIcon (see `getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
  `TreeGrid`
  `setFields(TreeGridField... fields)`
  An array of field objects, specifying the order, layout, dynamic calculation, and sorting behavior of each field in the treeGrid object.
  `TreeGrid`
  `setFolderIcon(String folderIcon)`
  The URL of the base icon for all folder nodes in this treeGrid.
  `TreeGrid`
  `setFolderIconPadding(Integer folderIconPadding)`
  Default padding to show between folder icon and cell value in the tree cell.
  `TreeGrid`
  `setGroupByField(String groupByField)`
  Not applicable to TreeGrids, as the `data` already represents a tree.
  `TreeGrid`
  `setGroupByField(String... groupByField)`
  Not applicable to TreeGrids, as the `data` already represents a tree.
  `TreeGrid`
  `setIconBaseStyle(String iconBaseStyle)`
  The base CSS class to apply to icons used in this grid.
  `TreeGrid`
  `setIconPadding(Integer iconPadding)`
  Default padding to show between the folder or leaf node icon and cell value in the tree cell.
  `TreeGrid`
  `setIconPaddingProperty(String iconPaddingProperty)`
  This property allows the developer to specify custom `iconPadding` for specific nodes
  `TreeGrid`
  `setIconSize(int iconSize)`
  The standard size (same height and width, in pixels) of node icons in this treeGrid.
  `TreeGrid`
  `setIndentRecordComponents(Boolean indentRecordComponents)`
  For record components placed "within" the `treeField` column, should the component be indented to the position where a title would normally show?
  `TreeGrid`
  `setIndentSize(int indentSize)`
  The amount of indentation (in pixels) to add to a node's icon/title for each level down in this tree's hierarchy.
  `void`
  `setInitialData(TreeNode[] initialData)`
  You can specify the initial set of data for a databound TreeGrid using this property.
  `TreeGrid`
  `setKeepParentsOnFilter(Boolean keepParentsOnFilter)`
  If set, tree-based filtering is performed such that parent nodes are kept as long as they have children that match the filter criteria, even if the parents themselves do not match the filter criteria.
  `TreeGrid`
  `setLeaveSelectionCheckboxGap(Boolean leaveSelectionCheckboxGap)`
  If `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected, should a gap be left where the checkbox icon would normally appear, in order to make the node's icon and title line up with the content for other nodes in the same parent?
  `TreeGrid`
  `setLoadDataOnDemand(Boolean loadDataOnDemand)`
  For databound treeGrid instances, should the entire tree of data be loaded on initial fetch, or should folders load their children as they are opened.
  `TreeGrid`
  `setLoadingIcon(String loadingIcon)`
  If `showLoadingIcons` is set, this icon will be used when the folder is `loading children from the server`.
  `LogicalStructureObject`
  `setLogicalStructure(TreeGridLogicalStructure s)`
  Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
  `TreeGrid`
  `setManyItemsImage(String manyItemsImage)`
  The filename of the icon displayed use as the default drag tracker when for multiple files and/or folders are being dragged.
  `TreeGrid`
  `setNodeIcon(String nodeIcon)`
  The filename of the default icon for all leaf nodes in this grid.
  `TreeGrid`
  `setOfflineNodeMessage(String offlineNodeMessage)`
  For TreeGrids with loadDataOnDemand: true, a message to show the user if an attempt is made to open a folder, and thus load that node's children, while we are offline and there is no offline cache of that data.
  `TreeGrid`
  `setOpenerIconHeight(Integer openerIconHeight)`
  Height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.
  `TreeGrid`
  `setOpenerIconSize(Integer openerIconSize)`
  Default width and height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol, if not overridden by `openerIconWidth`/`openerIconHeight`.
  `TreeGrid`
  `setOpenerIconWidth(Integer openerIconWidth)`
  Width in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.
  `TreeGrid`
  `setOpenerImage(SCStatefulImgConfig openerImage)`
  The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid.
  `TreeGrid`
  `setOpenerImage(String openerImage)`
  The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid.
  `TreeGrid`
  `setOpenIconPadding(Integer openIconPadding)`
  Default padding to show between the `openIcon` and the extra or folder icon in the tree cell.
  `TreeGrid`
  `setOpenIconSuffix(String openIconSuffix)`
  If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
  `void`
  `setOpenState(String openState)`
  Reset this set of open folders within this grid's data to match the `TreeGridOpenState` object passed in.
  Used to restore previous state retrieved from the grid by a call to `getOpenState()`.
  `TreeGrid`
  `setParentAlreadyContainsChildMessage(String parentAlreadyContainsChildMessage)`
  Message displayed when user attempts to drag a node into a parent that already contains a child of the same name/ID.
  `TreeGrid`
  `setRecordDropAppearance(RecordDropAppearance recordDropAppearance)`
  If `canAcceptDroppedRecords` is true for this treeGrid, this property governs whether the user can drop between, or over records within the grid.
  `TreeGrid`
  `setSaveOpenStateInViewState(Boolean saveOpenStateInViewState)`
  Should the current `open state` of the tree be included along with other details when saving this grid's `view-state`?
  `TreeGrid`
  `setSelectedIconSuffix(String selectedIconSuffix)`
  If `showSelectedIcons` is true, this suffix will be appended to the `folderIcon` for selected nodes in this grid.
  `void`
  `setSelectedPaths(String selectedPaths)`
  Reset this grid's selection to match the `ListGridSelectedState` object passed in.
  Used to restore previous state retrieved from the grid by a call to `getSelectedPaths()`.
  `TreeGrid`
  `setSelectionProperty(String selectionProperty)`
  If specified, the selection object for this list will use this property to mark records as selected.
  `TreeGrid`
  `setSeparateFolders(Boolean separateFolders)`
  If specified, this attribute will override `Tree.separateFolders` on the data for this treeGrid.
  `TreeGrid`
  `setServerFilterFields(String... serverFilterFields)`
  For `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.
  `TreeGrid`
  `setShowConnectors(Boolean showConnectors)`
  Should this treeGrid show connector lines illustrating the tree's hierarchy?
  `TreeGrid`
  `setShowCustomIconDrop(Boolean showCustomIconDrop)`
  Should folder nodes showing custom icons (set via the `customIconProperty`, default `TreeNode.icon`), show drop state images when the user is drop-hovering over the folder.
  `TreeGrid`
  `setShowCustomIconOpen(Boolean showCustomIconOpen)`
  Should folder nodes showing custom icons (set via the `customIconProperty`), show open state images when the folder is opened.
  `TreeGrid`
  `setShowCustomIconSelected(Boolean showCustomIconSelected)`
  Should folder nodes showing custom icons (set via the `customIconProperty`), show selected state images when the folder is selected, if `showSelectedIcons` is true?
  `TreeGrid`
  `setShowDisabledSelectionCheckbox(Boolean showDisabledSelectionCheckbox)`
  Should tree nodes show a disabled checkbox `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected?
  `TreeGrid`
  `setShowDropEndSpace(boolean showDropEndSpace)`
  When the user drags over the treeGrid body, should the grid show some space under the last node in the grid allowing the user to drop after the last node? The height of this space can be customized via `dropEndSpace`
  `TreeGrid`
  `setShowDropIcons(Boolean showDropIcons)`
  If true, when the user drags a droppable target over a folder in this TreeGrid, show a different folder icon.
  `TreeGrid`
  `setShowFolderIcons(Boolean showFolderIcons)`
  Should folder nodes in this TreeGrid show icons by default?
  `TreeGrid`
  `setShowFullConnectors(Boolean showFullConnectors)`
  If `showConnectors` is true, this property determines whether we should show vertical continuation lines for each level of indenting within the tree.
  `TreeGrid`
  `setShowLoadingIcons(boolean showLoadingIcons)`
  If set, when a folder is loading its children from the server (`Tree.getLoadState()` returns "loading"), it uses a distinct icon image given by `loadingIcon`.
  `TreeGrid`
  `setShowNodeIcons(Boolean showNodeIcons)`
  Should nodes in this TreeGrid show folder / leaf node icons by default?
  `TreeGrid`
  `setShowOpener(Boolean showOpener)`
  Should the opener icon be displayed next to folder nodes? This is an icon which visually indicates whether the folder is opened or closed (typically via a [+] or [-] image, or a turn-down arrow) and may be clicked to expand or collapse the folder.
  `TreeGrid`
  `setShowOpenIcons(Boolean showOpenIcons)`
  If true, show a different icon for `open` folders than closed folders.
  `TreeGrid`
  `setShowPartialSelection(Boolean showPartialSelection)`
  Should partially selected parents be shown with special icon?
  `TreeGrid`
  `setShowRoot(Boolean showRoot)`
  Specifies whether the root node should be displayed in the treeGrid.
  `TreeGrid`
  `setShowSelectedIcons(Boolean showSelectedIcons)`
  If true, show a different icon for selected nodes than unselected nodes.
  `TreeGrid`
  `setShowSelectedOpener(Boolean showSelectedOpener)`
  If `showOpener` is true, should a different opener icon be displayed for selected nodes? This provides a way for developers to show a "selected" version of the opener icon set which looks optimal with the `selected appearance` applied the selected record.
  `TreeGrid`
  `setSortFoldersBeforeLeaves(Boolean sortFoldersBeforeLeaves)`
  If specified, this attribute will override `Tree.sortFoldersBeforeLeaves` on the data for this treeGrid.
  `TreeGrid`
  `setTreeFieldMinWidth(int treeFieldMinWidth)`
  Default `minimum width` for the `treeField`.
  `TreeGrid`
  `setTreeFieldTitle(String treeFieldTitle)`
  Visible title for the tree column (field).
  `void`
  `setTreeRootValue(Integer treeRootValue)`
  For databound trees, use this attribute to supply a `DataSourceField.rootValue` for this component's generated data object.
  `void`
  `setTreeRootValue(String treeRootValue)`
  For databound trees, use this attribute to supply a `DataSourceField.rootValue` for this component's generated data object.
  `TreeGrid`
  `setUseAllDataSourceFields(Boolean useAllDataSourceFields)`
  If true, the set of fields given by the "default binding" (see `DataBoundComponent.fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.
  `void`
  `startEditingNew()`
  This inherited `ListGrid API` is not supported by the TreeGrid since adding a new tree node arbitrarily at the end of the tree is usually not useful.
  `void`
  `toggleFolder(NodeLocator node)`
  Opens the folder specified by node if it's closed, and closes it if it's open.
  `void`
  `toggleFolder(TreeNode node)`
  Opens the folder specified by node if it's closed, and closes it if it's open.
  `void`
  `toggleFolder(Integer node)`
  Opens the folder specified by node if it's closed, and closes it if it's open.
  `void`
  `toggleFolder(String node)`
  Opens the folder specified by node if it's closed, and closes it if it's open.
  `void`
  `transferNodes(TreeNode[] nodes, TreeNode folder, Integer index, Canvas sourceWidget, TransferNodesCallback callback)`
  Transfer a list of `TreeNode`s from another component (does not have to be a databound component) into this TreeGrid.
  `Boolean`
  `willAcceptDrop()`
  This method overrides `ListGrid.willAcceptDrop()` and works as follows:
  First, `ListGrid.willAcceptDrop()` (the superclass definition) is consulted.

  ### Methods inherited from class com.smartgwt.client.widgets.grid.ListGrid

  `addBodyKeyPressHandler, addCellClickHandler, addCellContextClickHandler, addCellDoubleClickHandler, addCellErrorIconHoverHandler, addCellErrorIconOutHandler, addCellErrorIconOverHandler, addCellHoverHandler, addCellMouseDownHandler, addCellMouseUpHandler, addCellOutHandler, addCellOverHandler, addCellSavedHandler, addCellSelectionChangedHandler, addCellValueHoverHandler, addCriteriaChangedHandler, addData, addData, addData, addDataArrivedHandler, addDataChangedHandler, addDragCompleteHandler, addDrawAreaChangedHandler, addDropCompleteHandler, addEditCompleteHandler, addEditFailedHandler, addEditorEnterHandler, addEditorExitHandler, addEmbeddedComponent, addEmbeddedComponent, addEmbeddedComponent, addEmbeddedComponent, addFetchDataHandler, addFieldStateChangedHandler, addFilterEditorSubmitHandler, addFormulaField, addFormulaUpdatedHandler, addGroupByCompleteHandler, addGroupByHandler, addGroupStateChangedHandler, addGroupTreeChangedHandler, addHeaderClickHandler, addHeaderDoubleClickHandler, addHeaderHoverHandler, addHilitesChangedHandler, addRecordClickHandler, addRecordCollapseHandler, addRecordDoubleClickHandler, addRecordExpandHandler, addRegroupHandler, addRemoveRecordClickHandler, addRowContextClickHandler, addRowEditorEnterHandler, addRowEditorExitHandler, addRowHoverHandler, addRowMouseDownHandler, addRowMouseUpHandler, addRowOutHandler, addRowOverHandler, addSelectionChangedHandler, addSelectionUpdatedHandler, addSetSortHandler, addSort, addSortChangedHandler, addSorterClickHandler, addSorterContextClickHandler, addSummaryField, addViewStateChangedHandler, anySelected, applyCellData, applyRecordData, applySortToData, askForSort, autoFitField, autoFitFields, autoFitFields, cancelEditing, canEditCell, canExpandRecord, canSelectCell, canSelectRecord, cellHasChanges, cellHasErrors, cellHasErrors, cellValueHoverHTML, cellValueIsClipped, chartData, chartData, chartData, chartData, chartData, clearAllCriteria, clearCriteria, clearCriteria, clearCriteria, clearEditValue, clearFieldError, clearFieldError, clearFieldSearchOperator, clearFilterWindowCriteria, clearRowErrors, clearSavedViewState, clearSort, closeGroup, closeRecord, collapseRecord, collapseRecords, configureGrouping, createRecordComponent, dataChangedComplete, dataChangedComplete, deselectAllRecords, deselectRange, deselectRecord, deselectRecord, deselectRecords, deselectRecords, disableHilite, disableHiliting, discardAllEdits, discardAllEdits, discardAllEdits, discardEdits, discardEdits, displayHeaderContextMenu, displaySort, drop, editExistingRecord, editExistingRecord, editFields, editHilites, enableHilite, enableHilite, enableHiliting, enableHiliting, endEditing, expandRecord, expandRecords, exportData, exportData, exportData, fetchRelatedData, fetchRelatedData, fetchRelatedData, fetchRelatedData, fetchRelatedData, fetchRowCount, fetchRowCount, fetchRowCount, fieldIsEditable, fieldIsEditable, fieldIsEditable, fieldIsVisible, filterByEditor, filterData, filterViaAI, filterViaAI, find, findAll, findIndex, findNextEditCell, findNextIndex, findNextIndex, focusInCell, focusInFilterEditor, focusInFilterEditor, focusInRow, freezeField, freezeField, freezeField, freezeField, freezeFields, freezeFields, getAddDropValues, getAddFormulaFieldText, getAddOperation, getAddSummaryFieldText, getAdvancedFieldPickerThreshold, getAdvancedFilteringText, getAiFilterWindow, getAiFilterWindowHint, getAiFilterWindowInstructions, getAiFilterWindowTitle, getAiHiliteWindow, getAiHoverContentsPrefix, getAiHoverRetryDelay, getAiSortFieldMaxRecordsMessage, getAiSortProgressDialog, getAllEditRows, getAllFields, getAllowFilterExpressions, getAllowFilterOperators, getAllowFilterWindow, getAllowRowSpanning, getAlternateBodyStyleName, getAlternateFieldFrequency, getAlternateFieldStyles, getAlternateFieldSuffix, getAlternateRecordFrequency, getAlternateRecordStyles, getAlternateRecordSuffix, getAlwaysShowEditors, getAlwaysShowOperatorIcon, getAnimateRemoveRecord, getAnimateRemoveSpeed, getAnimateRemoveTime, getAnimateRollOver, getAnimateRollUnder, getAnimateSelection, getAnimateSelectionUnder, getApplyFormulaAfterSummary, getApplyRowCountToLength, getApplyRowNumberStyle, getApproximateRowCountFormat, getAriaRole, getAriaState, getAriaStateDefaults, getArrowKeyAction, getArrowKeyEditAction, getAsyncErrorCellValue, getAsynchGroupingPrompt, getAsyncMissingCellValue, getAutoComplete, getAutoConfirmSaveEdits, getAutoFetchAsFilter, getAutoFetchData, getAutoFetchDisplayMap, getAutoFetchRowCount, getAutoFitAllText, getAutoFitClipFields, getAutoFitData, getAutoFitDateFields, getAutoFitExpandField, getAutoFitExtraRecords, getAutoFitFieldsFillViewport, getAutoFitFieldText, getAutoFitFieldWidths, getAutoFitHeaderHeights, getAutoFitIconFields, getAutoFitMaxColumns, getAutoFitMaxHeight, getAutoFitMaxRecords, getAutoFitMaxWidth, getAutoFitMaxWidthAsString, getAutoFitTimeFields, getAutoFitWidthApproach, getAutoPersistViewState, getAutoSaveEdits, getAutoSizeHeaderSpans, getBackgroundComponent, getBadFormulaResultValue, getBaseStyle, getBaseStyle, getBlockingRowCountFetch, getBody, getBodyBackgroundColor, getBodyOverflow, getBodyScrollLeft, getBodyScrollTop, getBodyStyleName, getBooleanBaseStyle, getBooleanFalseImage, getBooleanImageHeight, getBooleanImageWidth, getBooleanPartialImage, getBooleanTrueImage, getBriefRowRangeDisplayValue, getCanAddAISortFields, getCanAddAISummaryFields, getCanAddFormulaFields, getCanAddSummaryFields, getCanAutoFitFields, getCancelEditingConfirmationMessage, getCanCollapseGroup, getCanConfigureViaAI, getCanDragSelect, getCanDragSelectText, getCanDropInEmptyArea, getCanEdit, getCanEditHilites, getCanEditTitles, getCanExpandMultipleRecords, getCanExpandRecordProperty, getCanExpandRecords, getCanFocusInEmptyGrid, getCanFreezeFields, getCanGroupBy, getCanHiliteViaAI, getCanHover, getCanMultiGroup, getCanMultiSort, getCanPickFields, getCanPickOmittedFields, getCanRemoveRecords, getCanReorderFields, getCanRequestRowCount, getCanResizeFields, getCanSaveSearches, getCanSelectCells, getCanSelectGroups, getCanSelectSummaryRows, getCanShowFilterEditor, getCanSort, getCanTabToHeader, getCanTabToSorter, getCellAriaState, getCellContextMenu, getCellContextMenuItems, getCellCSSText, getCellErrors, getCellHeight, getCellHoverComponent, getCellPadding, getCellPageRect, getCellRole, getCellRowSpan, getCellSelection, getCellStartRow, getCellStyle, getChartConstructor, getChartType, getCheckboxFieldFalseImage, getCheckboxFieldImageHeight, getCheckboxFieldImageWidth, getCheckboxFieldPartialImage, getCheckboxFieldTrueImage, getChildExpansionMode, getClearAllSortingText, getClearCriteriaOnFilterEditorHide, getClearFilterText, getClearFilterViaAIText, getClearSortFieldText, getClipHeaderTitles, getCollapseGroupOnRowClick, getColumnLeft, getColumnPageLeft, getColumnWidth, getConfigureGroupingText, getConfigureSortText, getConfigureViaAIText, getConfirmCancelEditing, getConfirmDiscardEdits, getConfirmDiscardEditsMessage, getCriteria, getCriteriaIndicatorColor, getCriteriaIndicatorHeaderColor, getCurrentExpansionComponent, getCurrentExpansionComponent, getCurrentFieldWidths, getDataAsJSList, getDataAsRecordList, getDataFetchDelay, getDataPageSize, getDataSource, getDateFormatter, getDatetimeFormatter, getDeepCloneOnEdit, getDefaultDateFieldWidth, getDefaultDateTimeFieldWidth, getDefaultEditableDateFieldWidth, getDefaultEditableDateTimeFieldWidth, getDefaultFields, getDefaultFilterOperator, getDefaultFilterOperatorSuffix, getDefaultFormattedFieldValue, getDefaultFormattedFieldValue, getDefaultFormattedFieldValue, getDefaultFormattedValue, getDefaultTimeFieldWidth, getDeferRemoval, getDeselectOnPartialCheckboxClick, getDetailDS, getDetailField, getDisabledGroupByPrompt, getDiscardDataOnSetFetchOperation, getDiscardEditsOnHideField, getDiscardEditsSaveButtonTitle, getDisplayValue, getDisplayValue, getDisplayValue, getDisplayValue, getDisplayValue, getDragData, getDragDataAction, getDragHandleField, getDragHandleFieldTitle, getDragHandleIcon, getDragHandleIconSize, getDragScrollRedrawDelay, getDragTrackerMode, getDragTrackerStyle, getDrawAheadRatio, getDrawAllMaxCells, getDrawArea, getDrawnRowHeight, getDrawnRows, getDropValues, getDuplicateDragMessage, getEditByCell, getEditCol, getEditedCell, getEditedCell, getEditedCell, getEditedCell, getEditedRecord, getEditEvent, getEditFailedBaseStyle, getEditFailedCSSText, getEditFormItem, getEditFormItem, getEditFormulaFieldText, getEditOnF2Keypress, getEditOnFocus, getEditPendingBaseStyle, getEditPendingCSSText, getEditPendingMarkerStyle, getEditProxyConstructor, getEditRow, getEditSelectionType, getEditSummaryFieldText, getEditValue, getEditValue, getEditValueAsBoolean, getEditValueAsDate, getEditValueAsFloat, getEditValueAsInt, getEditValueAsRecord, getEditValueAsRecordArray, getEditValueAsString, getEditValues, getEditValues, getEmbeddedComponentIndent, getEmbeddedComponentMargin, getEmptyAIHoverContents, getEmptyCellValue, getEmptyMessage, getEmptyMessageStyle, getEmptyRowRangeDisplayValue, getEnforceVClipping, getEnterKeyEditAction, getEnumCriteriaAsInitialValues, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getEscapeKeyEditAction, getEventColumn, getEventColumn, getExactRowCountFormat, getExpandedRecords, getExpansionCanEdit, getExpansionComponent, getExpansionComponentPoolingMode, getExpansionDetailField, getExpansionDetailRelated, getExpansionDetails, getExpansionEditor, getExpansionEditorCollapseOnSave, getExpansionEditorSaveButton, getExpansionEditorSaveButtonTitle, getExpansionEditorSaveDialogPrompt, getExpansionEditorShowSaveDialog, getExpansionField, getExpansionFieldFalseImage, getExpansionFieldImageHeight, getExpansionFieldImageShowRTL, getExpansionFieldImageShowSelected, getExpansionFieldImageStyle, getExpansionFieldImageWidth, getExpansionFieldTrueImage, getExpansionIndent, getExpansionLayout, getExpansionMode, getExpansionRelated, getExpansionScreen, getExplicitFetchDelay, getExportAll, getExportAlternateRowBGColor, getExportBGColor, getExportColumnBGColor, getExportDefaultBGColor, getExportFieldAlignments, getExportFields, getExportFieldWidths, getExportHeaderHeights, getExportHiddenFieldWidth, getExportIncludeSummaries, getExportRawNumbers, getExportRawValues, getExportRowBGColor, getExportTextColor, getExportWidthScale, getExportWrapHeaderTitles, getFetchDelay, getFetchFields, getFetchFieldsAsString, getFetchOperation, getFetchRequestProperties, getField, getField, getFieldAlignments, getFieldByName, getFieldContentWidth, getFieldCount, getFieldCriteriaText, getFieldName, getFieldNum, getFieldNum, getFieldPickerFieldProperties, getFieldPickerShowSampleValues, getFieldPickerWindow, getFields, getFieldsAsJavaScriptObjects, getFieldSearchOperator, getFieldState, getFieldTitle, getFieldTitle, getFieldVisibilitySubmenuTitle, getFieldWidth, getFieldWidth, getFilterButtonPrompt, getFilterButtonProperties, getFilterByCell, getFilterEditor, getFilterEditorCriteria, getFilterEditorCriteria, getFilterEditorCriteriaAsAdvancedCriteria, getFilterEditorCriterion, getFilterEditorHeight, getFilterEditorProperties, getFilterLocalData, getFilterOnKeypress, getFilterUsingText, getFilterViaAIMode, getFilterViaAIPanelInstructions, getFilterViaAIText, getFilterWindow, getFilterWindowCriteria, getFilterWindowCriteriaIndicator, getFilterWindowFilter, getFilterWindowInstructions, getFilterWindowTitle, getFirstCellStyle, getFixedFieldWidths, getFixedRecordHeights, getFocusRow, getFormattedRowCount, getFormattedRowRange, getFormulaBuilderSpanTitleSeparator, getFormulaFieldValue, getFreezeFieldText, getFrozenBaseStyle, getFrozenBodyStyleName, getFrozenFieldsMaxWidth, getFrozenFieldsMaxWidthAsInt, getFrozenHeaderBaseStyle, getFrozenHeaderTitleStyle, getFrozenRollOverCanvas, getFrozenRollUnderCanvas, getFullRowRangeDisplayValue, getGenerateClickOnEnter, getGenerateClickOnSpace, getGenerateDoubleClickOnEnter, getGenerateDoubleClickOnSpace, getGridAdditionalCriteriaText, getGridComponents, getGridRenderer, getGridSummary, getGridSummaryData, getGridSummaryRecordProperty, getGroupByAsyncThreshold, getGroupByFields, getGroupByFieldSummaries, getGroupByMaxRecords, getGroupByMaxRecordsExceededMessage, getGroupByText, getGroupedRecordIndex, getGroupIcon, getGroupIconSize, getGroupIconStyle, getGroupIndentSize, getGroupLeadingIndent, getGroupMembers, getGroupNodeBaseStyle, getGroupNodeStyle, getGroupSortDirection, getGroupState, getGroupSummaryData, getGroupSummaryData, getGroupSummaryData, getGroupSummaryData, getGroupSummaryRecordProperty, getGroupSummaryStyle, getGroupTitleColumnProperties, getGroupTitleField, getGroupTree, getGroupTreeSelection, getGroupTreeSelection, getGroupTreeSelection, getHeader, getHeaderAriaRole, getHeaderAutoFitEvent, getHeaderBackgroundColor, getHeaderBarStyle, getHeaderBaseStyle, getHeaderButtonAriaRole, getHeaderButtonAriaState, getHeaderButtonProperties, getHeaderContextMenu, getHeaderContextMenuItems, getHeaderHeight, getHeaderHoverAlign, getHeaderHoverHeight, getHeaderHoverOpacity, getHeaderHoverStyle, getHeaderHoverVAlign, getHeaderHoverWidth, getHeaderHoverWrap, getHeaderMenuButton, getHeaderMenuButtonHeight, getHeaderMenuButtonHeightAsString, getHeaderMenuButtonIcon, getHeaderMenuButtonIconHeight, getHeaderMenuButtonIconWidth, getHeaderMenuButtonSnapOffsetLeft, getHeaderMenuButtonWidth, getHeaderRadius, getHeaderShadowColor, getHeaderShadowHOffset, getHeaderShadowSoftness, getHeaderShadowVOffset, getHeaderSpan, getHeaderSpanContextMenuItems, getHeaderSpanHeight, getHeaderTitleStyle, getHeaderTitleVAlign, getHideEmptySummaryRow, getHideFilterEditorTitle, getHiliteCanReplaceValue, getHiliteEditorSpanTitleSeparator, getHiliteHTMLAfterFormat, getHiliteIconHeight, getHiliteIconLeftPadding, getHiliteIconPosition, getHiliteIconRightPadding, getHiliteIcons, getHiliteIconSize, getHiliteIconWidth, getHiliteProperty, getHiliteReplaceValueFieldTitle, getHiliteRowOnFocus, getHilites, getHiliteState, getHiliteViaAIMode, getHiliteViaAIText, getHoverMode, getHoverScreen, getHoverStyle, getIconCursor, getImageSize, getImplicitCriteria, getIncludeHilitesInSummaryFields, getIncludeInSummaryProperty, getInitialCriteria, getInitialSort, getInstantScrollTrackRedraw, getInvalidSummaryValue, getIsGrouped, getIsSeparatorProperty, getLastCellStyle, getLeaveScrollbarGap, getLinkTextProperty, getListEndEditAction, getLoadingDataMessage, getLoadingDataMessageStyle, getLoadingMessage, getLoadingRowCountDisplayIcoHeight, getLoadingRowCountDisplayIcon, getLoadingRowCountDisplayIconWidth, getLocateColumnsBy, getLocateRowsBy, getLongTextEditorThreshold, getLongTextEditorType, getMaxExpandedRecords, getMaxExpandedRecordsPrompt, getMaximumRowCountFormat, getMaxSummaryRowRecords, getMinFieldWidth, getMinHeight, getMinimumCellHeight, getMinimumRowCountFormat, getMissingSummaryFieldValue, getModalEditing, getMultiGroupDialogDefaults, getMultiGroupDialogProperties, getNavigateOnTab, getNeverValidate, getNewRecordRowMessage, getNewSearchText, getNormalBaseStyle, getNormalCellHeight, getNoSavedSearchesText, getNullGroupTitle, getOfflineMessageStyle, getOperatorIcon, getOriginalRecordList, getOriginalResultSet, getOriginBaseStyle, getOverflow, getPendingAsyncCellValue, getPlaceholderAIHoverContents, getPoolComponentsPerColumn, getPreserveFocusStylingOnMouseOut, getPreserveWhitespace, getPreventDuplicates, getPrintAutoFit, getPrintBaseStyle, getPrintBooleanBaseStyle, getPrintBooleanFalseImage, getPrintBooleanPartialImage, getPrintBooleanTrueImage, getPrintCheckboxFieldFalseImage, getPrintCheckboxFieldPartialImage, getPrintCheckboxFieldTrueImage, getPrintHeaderStyle, getPrintMaxRows, getPrintWrapCells, getProgressiveLoading, getQuickDrawAheadRatio, getRangeRowCountFormat, getRecordBaseStyleProperty, getRecordCanRemoveProperty, getRecordCanSelectProperty, getRecordCellRoleProperty, getRecordComponent, getRecordComponent, getRecordComponentHeight, getRecordComponentPoolingMode, getRecordComponentPosition, getRecordDetailDSProperty, getRecordDropPosition, getRecordEditProperty, getRecordEnabledProperty, getRecordIndex, getRecordIndex, getRecordList, getRecordRadius, getRecordRadiusTargets, getRecordRowAriaStateProperty, getRecordRowRoleProperty, getRecordScreen, getRecordShowRollOverProperty, getRecordSummaryAttributePrefix, getRecordSummaryBaseStyle, getRelatedDataSource, getRemovedCSSText, getRemoveFieldDefaults, getRemoveFieldProperties, getRemoveFieldTitle, getRemoveIcon, getRemoveIconSize, getRemoveIconStyle, getRemoveOperation, getReselectOnUpdate, getReselectOnUpdateNotifications, getResizeFieldsInRealTime, getResultSet, getReverseRTLAlign, getRollOverCanvas, getRollUnderCanvas, getRotatedHeaderMenuButtonHeight, getRotatedHeaderMenuButtonHeightAsString, getRotatedHeaderMenuButtonWidth, getRotateHeaderTitles, getRowAriaState, getRowCount, getRowCountDisplayPrecision, getRowCountRange, getRowCountStatus, getRowEndEditAction, getRowErrors, getRowHeight, getRowLocatorField, getRowLocatorFieldAsStringArray, getRowNum, getRowNumberField, getRowNumberStart, getRowNumberStyle, getRowPageTop, getRowRangeDisplay, getRowRangeDisplayStyle, getRowRangeDisplayValue, getRowRangeFormat, getRowRole, getRowSpan, getRowSpanEditMode, getRowSpanSelectionMode, getRowTop, getSaveByCell, getSaveCriteriaInViewState, getSaveDefaultSearch, getSavedSearchAdminRole, getSavedSearchAdminSeparator, getSavedSearchDS, getSavedSearchId, getSavedSearchStoredState, getSavedSearchText, getSavedViewState, getSaveLocally, getSaveRequestProperties, getScreenReaderCellSeparator, getScreenReaderIncludeFieldTitles, getScreenReaderNavigateByCell, getScreenReaderRowSeparator, getScreenReaderWriteRowLabelledBy, getScrollRedrawDelay, getScrollToCellXPosition, getScrollToCellYPosition, getScrollWheelRedrawDelay, getSearchForm, getSearchFormAsValuesManager, getSelectCellTextOnClick, getSelectedCellData, getSelectedRecords, getSelectedRecords, getSelectedState, getSelectHeaderOnSort, getSelection, getSelection, getSelectionAppearance, getSelectionType, getSelectOnEdit, getSelectOnExpandRecord, getSeparatorRowStyle, getShowAllColumns, getShowAllRecords, getShowAsynchGroupingPrompt, getShowBackgroundComponents, getShowCellContextMenus, getShowClippedHeaderTitlesOnHover, getShowClippedValuesOnHover, getShowCollapsedGroupSummary, getShowComplexFields, getShowDetailFields, getShowDropLines, getShowEllipsisWhenClipped, getShowEmptyMessage, getShowErrorIcons, getShowExpansionEditorSaveButton, getShowFilterEditor, getShowFilterEditorHovers, getShowFilterEditorTitle, getShowFilterWindowCriteriaIndicator, getShowGridSummary, getShowGroupSummary, getShowGroupSummaryInHeader, getShowGroupTitleColumn, getShowGroupTitleInFrozenBody, getShowHeader, getShowHeaderContextMenu, getShowHeaderMenuButton, getShowHeaderPartialSelection, getShowHeaderShadow, getShowHeaderSpanContextMenu, getShowHeaderSpanTitlesInFormulaBuilder, getShowHeaderSpanTitlesInHiliteEditor, getShowHeaderSpanTitlesInSortEditor, getShowHiddenFields, getShowHilitesInGroupSummary, getShowHover, getShowHoverComponents, getShowHoverOnDisabledCells, getShowInitialDragHandles, getShowNewRecordRow, getShowRecordComponents, getShowRecordComponentsByCell, getShowRollOver, getShowRollOverCanvas, getShowRollOverInExpansion, getShowRollUnderCanvas, getShowRowNumbers, getShowSavedSearchesByDS, getShowSelectedRollOverCanvas, getShowSelectedRollUnderCanvas, getShowSelectedStyle, getShowSelectionCanvas, getShowSelectionUnderCanvas, getShowSortArrow, getShowSortNumerals, getShowTreeColumnPicker, getShrinkForFreeze, getSingleCellValueProperty, getSkinImgDir, getSkipLineBreaks, getSort, getSortArrowMenuButtonSpaceOffset, getSortAscendingImage, getSortAscendingImageAsImgHTMLProperties, getSortBinaryByFileName, getSortByGroupFirst, getSortDescendingImage, getSortDescendingImageAsImgHTMLProperties, getSortDirection, getSortEditorSpanTitleSeparator, getSorterButtonTitle, getSortField, getSortFieldAscendingText, getSortFieldCount, getSortFieldDescendingText, getSortNumeralHTML, getSortNumeralMenuButtonSpaceOffset, getSortNumeralStyle, getSortSpecifier, getSortState, getSpanContextMenu, getSpannedHeaderBaseStyle, getSparseFieldState, getStopOnErrors, getStyledRowEnds, getStyleName, getSummaryFieldValue, getSummaryRow, getSummaryRowCriteria, getSummaryRowDataSource, getSummaryRowFetchRequestProperties, getSummaryRowHeight, getSummaryRowStyle, getTableRowStyle, getTallBaseStyle, getTestInstance, getTitleField, getTitleFieldValue, getToggleFreezeText, getTotalRows, getTouchScrollRedrawDelay, getTrackerImage, getTrackerImageAsImgHTMLProperties, getUnfreezeFieldText, getUngroupText, getUnknownRowCountDisplayValue, getUnremoveIcon, getUpdateOperation, getUpdateSummariesDuringEditing, getUseAdvancedCriteria, getUseAdvancedFieldPicker, getUseCellRollOvers, getUseClientFiltering, getUseCopyPasteShortcuts, getUseFlatFields, getUseMultiSelectForFilterValueMaps, getUserCriteriaState, getUseRemoteValidators, getUseRowSpanStyling, getValidateByCell, getValidateOnChange, getValueIcon, getValueIconCursor, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getViewState, getVirtualScrolling, getVisibleRows, getWaitForSave, getWarnOnRemoval, getWarnOnRemovalMessage, getWarnOnUnmappedValueFieldChange, getWrapCells, getWrapHeaderSpanTitles, getWrapHeaderTitles, groupBy, groupSortNormalizer, hasChanges, hasChanges, hasErrors, headerHoverHTML, headerTitleClipped, hideDragHandles, hideField, hideField, hideFields, hideFields, hideFields, hideFields, hiliteViaAI, hiliteViaAI, hiliteViaAI, invalidateCache, invalidateRecordComponents, isCheckboxField, isExpanded, isExpansionField, isGrouped, isGroupNode, isPartiallySelected, isRowNumberField, isSelected, isSortField, isSummaryRecord, markForRedraw, markForRedraw, markRecordRemoved, markRecordsRemoved, markRecordsRemoved, markRecordsRemoved, markSelectionRemoved, onInit_ListGrid, openGroup, openRecordDetailGrid, openRecordEditor, preloadImages, recalculateGridSummary, recalculateSummaries, recalculateSummaries, recalculateSummaries, recordClick, recordMarkedAsRemoved, redrawHeader, refreshCell, refreshCell, refreshCellStyle, refreshData, refreshData, refreshFields, refreshRecordComponent, refreshRecordComponent, refreshRow, regroup, removeData, removeData, removeData, removeEmbeddedComponent, removeEmbeddedComponent, removeEmbeddedComponent, removeRecordClick, removeSelectedData, removeSelectedData, removeSelectedData, removeSelectedData, reorderField, reorderFields, resizeField, resort, rowClick, rowClick, rowDoubleClick, rowDoubleClick, rowHasChanges, rowHasChanges, rowHasErrors, saveAllEdits, saveAllEdits, saveAllEdits, saveEdits, saveEdits, saveEdits, saveEdits, scrollBodyTo, scrollToCell, scrollToCell, scrollToCell, scrollToColumn, scrollToColumn, scrollToRow, scrollToRow, selectAllRecords, selectRange, selectRange, selectRecord, selectRecord, selectRecord, selectRecord, selectRecords, selectRecords, selectRecords, selectRecords, selectSingleRecord, selectSingleRecord, setAddDropValues, setAddFormulaFieldText, setAddOperation, setAddSummaryFieldText, setAdvancedFieldPickerThreshold, setAdvancedFilteringText, setAiFilterWindowHint, setAiFilterWindowInstructions, setAiFilterWindowTitle, setAiHoverContentsPrefix, setAiHoverRetryDelay, setAiSortFieldMaxRecordsMessage, setAllowFilterExpressions, setAllowFilterOperators, setAllowFilterWindow, setAllowRowSpanning, setAlternateBodyStyleName, setAlternateFieldFrequency, setAlternateFieldStyles, setAlternateFieldSuffix, setAlternateRecordFrequency, setAlternateRecordStyles, setAlternateRecordSuffix, setAlwaysShowEditors, setAlwaysShowOperatorIcon, setAnimateRemoveRecord, setAnimateRemoveSpeed, setAnimateRemoveTime, setAnimateRollOver, setAnimateRollUnder, setAnimateSelection, setAnimateSelectionUnder, setApplyFormulaAfterSummary, setApplyRowCountToLength, setApplyRowNumberStyle, setApproximateRowCountFormat, setAriaRole, setArrowKeyAction, setArrowKeyEditAction, setAsyncErrorCellValue, setAsynchGroupingPrompt, setAsyncMissingCellValue, setAutoChildProperties, setAutoComplete, setAutoConfirmSaveEdits, setAutoFetchAsFilter, setAutoFetchData, setAutoFetchDisplayMap, setAutoFetchRowCount, setAutoFitAllText, setAutoFitClipFields, setAutoFitData, setAutoFitDateFields, setAutoFitExpandField, setAutoFitExtraRecords, setAutoFitFieldsFillViewport, setAutoFitFieldText, setAutoFitFieldWidths, setAutoFitHeaderHeights, setAutoFitIconFields, setAutoFitMaxColumns, setAutoFitMaxHeight, setAutoFitMaxRecords, setAutoFitMaxWidth, setAutoFitMaxWidth, setAutoFitTimeFields, setAutoFitWidth, setAutoFitWidthApproach, setAutoPersistViewState, setAutoSaveEdits, setAutoSizeHeaderSpans, setBadFormulaResultValue, setBaseStyle, setBlockingRowCountFetch, setBodyBackgroundColor, setBodyOverflow, setBodyStyleName, setBooleanBaseStyle, setBooleanFalseImage, setBooleanImageHeight, setBooleanImageWidth, setBooleanPartialImage, setBooleanTrueImage, setBriefRowRangeDisplayValue, setCanAddAISortFields, setCanAddAISummaryFields, setCanAddFormulaFields, setCanAddSummaryFields, setCanAutoFitFields, setCancelEditingConfirmationMessage, setCanCollapseGroup, setCanConfigureViaAI, setCanDragSelect, setCanDragSelectText, setCanDropInEmptyArea, setCanEdit, setCanEditHilites, setCanEditTitles, setCanExpandMultipleRecords, setCanExpandRecordProperty, setCanExpandRecords, setCanFocusInEmptyGrid, setCanFreezeFields, setCanGroupBy, setCanHiliteViaAI, setCanHover, setCanMultiGroup, setCanMultiSort, setCanPickFields, setCanPickOmittedFields, setCanRemoveRecords, setCanReorderFields, setCanRequestRowCount, setCanResizeFields, setCanSaveSearches, setCanSelectCells, setCanSelectGroups, setCanSelectRecordCustomizer, setCanSelectSummaryRows, setCanShowFilterEditor, setCanSort, setCanTabToHeader, setCanTabToSorter, setCellContextMenuItemsCustomizer, setCellCSSTextCustomizer, setCellFormatter, setCellHeight, setCellPadding, setCellRole, setChartConstructor, setChartType, setCheckboxFieldFalseImage, setCheckboxFieldImageHeight, setCheckboxFieldImageWidth, setCheckboxFieldPartialImage, setCheckboxFieldProperties, setCheckboxFieldTrueImage, setChildExpansionMode, setClearAllSortingText, setClearCriteriaOnFilterEditorHide, setClearFilterText, setClearFilterViaAIText, setClearSortFieldText, setClipHeaderTitles, setCollapseGroupOnRowClick, setConfigureGroupingText, setConfigureSortText, setConfigureViaAIText, setConfirmCancelEditing, setConfirmDiscardEdits, setConfirmDiscardEditsMessage, setCriteria, setCriteriaIndicatorColor, setCriteriaIndicatorHeaderColor, setData, setData, setData, setDataFetchDelay, setDataPageSize, setDataProperties, setDataSource, setDataSource, setDataSource, setDateFormatter, setDateInputFormat, setDatetimeFormatter, setDeepCloneOnEdit, setDefaultDateFieldWidth, setDefaultDateTimeFieldWidth, setDefaultEditableDateFieldWidth, setDefaultEditableDateTimeFieldWidth, setDefaultFields, setDefaultFieldWidthCustomizer, setDefaultFilterOperator, setDefaultFilterOperatorSuffix, setDefaultProperties, setDefaultTimeFieldWidth, setDeferRemoval, setDeselectOnPartialCheckboxClick, setDetailDS, setDetailDS, setDetailField, setDisabledGroupByPrompt, setDiscardDataOnSetFetchOperation, setDiscardEditsOnHideField, setDiscardEditsSaveButtonTitle, setDontAutoDestroyComponent, setDragDataAction, setDragDataCustomizer, setDragHandleFieldTitle, setDragHandleIcon, setDragHandleIconSize, setDragScrollRedrawDelay, setDragTrackerIconCustomizer, setDragTrackerMode, setDragTrackerStyle, setDragTrackerTitleCustomizer, setDrawAheadRatio, setDrawAllMaxCells, setDropValues, setDuplicateDragMessage, setEditByCell, setEditEvent, setEditFailedBaseStyle, setEditFailedCSSText, setEditFormulaFieldText, setEditOnF2Keypress, setEditOnFocus, setEditorCustomizer, setEditorValueMap, setEditorValueMap, setEditPendingBaseStyle, setEditPendingCSSText, setEditPendingMarkerStyle, setEditProxyConstructor, setEditSelectionType, setEditSummaryFieldText, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValues, setEmbeddedComponentIndent, setEmbeddedComponentMargin, setEmptyAIHoverContents, setEmptyCellValue, setEmptyMessage, setEmptyMessageStyle, setEmptyRowRangeDisplayValue, setEnforceVClipping, setEnterKeyEditAction, setEnumCriteriaAsInitialValues, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setEscapeKeyEditAction, setExactRowCountFormat, setExpansionCanEdit, setExpansionComponentPoolingMode, setExpansionEditorSaveDialogPrompt, setExpansionEditorShowSaveDialog, setExpansionFieldFalseImage, setExpansionFieldImageHeight, setExpansionFieldImageShowRTL, setExpansionFieldImageShowSelected, setExpansionFieldImageStyle, setExpansionFieldImageWidth, setExpansionFieldTrueImage, setExpansionIndent, setExpansionMode, setExpansionScreen, setExplicitFetchDelay, setExportAll, setExportAlternateRowBGColor, setExportDefaultBGColor, setExportFieldAlignments, setExportFields, setExportFieldWidths, setExportHeaderHeights, setExportHiddenFieldWidth, setExportIncludeSummaries, setExportRawNumbers, setExportRawValues, setExportWidthScale, setExportWrapHeaderTitles, setFastCellUpdates, setFetchDelay, setFetchFields, setFetchFields, setFetchOperation, setFetchRequestProperties, setFieldButtonProperties, setFieldCellIcon, setFieldCriteriaText, setFieldError, setFieldError, setFieldHeaderBaseStyle, setFieldHeaderTitleStyle, setFieldIcon, setFieldMaxWidth, setFieldMinWidth, setFieldPickerFieldProperties, setFieldPickerShowSampleValues, setFieldProperties, setFieldProperties, setFields, setFields, setFieldSearchOperator, setFieldState, setFieldTitle, setFieldTitle, setFieldVisibilitySubmenuTitle, setFilterButtonPrompt, setFilterButtonProperties, setFilterByCell, setFilterEditorCriteria, setFilterEditorHeight, setFilterEditorProperties, setFilterEditorProperties, setFilterLocalData, setFilterOnKeypress, setFilterUsingText, setFilterViaAIMode, setFilterViaAIPanelInstructions, setFilterViaAIText, setFilterWindowCriteria, setFilterWindowInstructions, setFilterWindowTitle, setFirstCellStyle, setFixedFieldWidths, setFixedRecordHeights, setFormulaBuilderSpanTitleSeparator, setFreezeFieldText, setFrozenBaseStyle, setFrozenBodyStyleName, setFrozenFieldsMaxWidth, setFrozenFieldsMaxWidth, setFrozenHeaderBaseStyle, setFrozenHeaderTitleStyle, setFullRowRangeDisplayValue, setGenerateClickOnEnter, setGenerateClickOnSpace, setGenerateDoubleClickOnEnter, setGenerateDoubleClickOnSpace, setGridAdditionalCriteriaText, setGridComponents, setGridComponents, setGridSummaryRecordProperty, setGroupByAsyncThreshold, setGroupByFieldSummaries, setGroupByMaxRecords, setGroupByMaxRecordsExceededMessage, setGroupByText, setGroupIcon, setGroupIconSize, setGroupIconStyle, setGroupIndentSize, setGroupLeadingIndent, setGroupNodeBaseStyle, setGroupNodeStyle, setGroupSortDirection, setGroupSortNormalizer, setGroupStartOpen, setGroupStartOpen, setGroupState, setGroupSummaryRecordProperty, setGroupSummaryStyle, setGroupTitleColumnProperties, setGroupTitleField, setHeaderAriaRole, setHeaderAutoFitEvent, setHeaderBackgroundColor, setHeaderBarStyle, setHeaderBaseStyle, setHeaderButtonAriaRole, setHeaderButtonAriaState, setHeaderButtonProperties, setHeaderHeight, setHeaderHoverAlign, setHeaderHoverFormatter, setHeaderHoverHeight, setHeaderHoverOpacity, setHeaderHoverStyle, setHeaderHoverVAlign, setHeaderHoverWidth, setHeaderHoverWrap, setHeaderMenuButtonHeight, setHeaderMenuButtonHeight, setHeaderMenuButtonIcon, setHeaderMenuButtonIconHeight, setHeaderMenuButtonIconWidth, setHeaderMenuButtonSnapOffsetLeft, setHeaderMenuButtonWidth, setHeaderRadius, setHeaderShadowColor, setHeaderShadowHOffset, setHeaderShadowSoftness, setHeaderShadowVOffset, setHeaderSpanBaseStyle, setHeaderSpanButtonProperties, setHeaderSpanHeaderTitle, setHeaderSpanHeight, setHeaderSpans, setHeaderSpanTitle, setHeaderSpanTitleStyle, setHeaderTitleStyle, setHeaderTitleVAlign, setHideEmptySummaryRow, setHideFilterEditorTitle, setHideOnPhone, setHideOnTablet, setHiliteCanReplaceValue, setHiliteEditorSpanTitleSeparator, setHiliteHTMLAfterFormat, setHiliteIconHeight, setHiliteIconLeftPadding, setHiliteIconPosition, setHiliteIconRightPadding, setHiliteIcons, setHiliteIconSize, setHiliteIconWidth, setHiliteProperty, setHiliteReplaceValueFieldTitle, setHiliteRowOnFocus, setHilites, setHiliteState, setHiliteViaAIMode, setHiliteViaAIText, setHoverCustomizer, setHoverMode, setHoverScreen, setHoverStyle, setIconCursor, setImageSize, setImplicitCriteria, setImplicitCriteria, setImplicitCriteria, setInactiveCellFormatter, setIncludeHilitesInSummaryFields, setIncludeInSummaryProperty, setInitialCriteria, setInitialSort, setInstantScrollTrackRedraw, setInvalidSummaryValue, setIsSeparatorProperty, setLastCellStyle, setLeaveHeaderMenuButtonSpace, setLeaveScrollbarGap, setLinkTextProperty, setListEndEditAction, setLoadingDataMessage, setLoadingDataMessageStyle, setLoadingMessage, setLoadingRowCountDisplayIcoHeight, setLoadingRowCountDisplayIcon, setLoadingRowCountDisplayIconWidth, setLocateColumnsBy, setLocateRowsBy, setLogicalStructure, setLongTextEditorThreshold, setLongTextEditorType, setMaxExpandedRecords, setMaxExpandedRecordsPrompt, setMaximumRowCountFormat, setMaxSummaryRowRecords, setMinFieldWidth, setMinHeight, setMinimumCellHeight, setMinimumRowCountFormat, setMissingSummaryFieldValue, setModalEditing, setMultiGroupDialogDefaults, setMultiGroupDialogProperties, setMultiSortDialogDefaults, setMultiSortDialogProperties, setNavigateOnTab, setNeverValidate, setNewRecordRowMessage, setNewSearchText, setNormalBaseStyle, setNormalCellHeight, setNoSavedSearchesText, setNullGroupTitle, setOfflineMessageStyle, setOriginBaseStyle, setOverflow, setPendingAsyncCellValue, setPlaceholderAIHoverContents, setPoolComponentsPerColumn, setPreserveFocusStylingOnMouseOut, setPreserveWhitespace, setPreventDuplicates, setPrintAutoFit, setPrintBaseStyle, setPrintBooleanBaseStyle, setPrintBooleanFalseImage, setPrintBooleanPartialImage, setPrintBooleanTrueImage, setPrintCheckboxFieldFalseImage, setPrintCheckboxFieldPartialImage, setPrintCheckboxFieldTrueImage, setPrintHeaderStyle, setPrintMaxRows, setPrintWrapCells, setProgressiveLoading, setQuickDrawAheadRatio, setRangeRowCountFormat, setRecordBaseStyleProperty, setRecordCanRemoveProperty, setRecordCanSelectProperty, setRecordCellRoleProperty, setRecordComponentHeight, setRecordComponentPoolingMode, setRecordComponentPosition, setRecordDetailDSProperty, setRecordEditProperty, setRecordEnabledProperty, setRecordRadius, setRecordRadiusTargets, setRecordRowAriaStateProperty, setRecordRowRoleProperty, setRecords, setRecordScreen, setRecordShowRollOverProperty, setRecordSummaryAttributePrefix, setRecordSummaryBaseStyle, setRemovedCSSText, setRemoveFieldProperties, setRemoveFieldTitle, setRemoveIcon, setRemoveIconSize, setRemoveIconStyle, setRemoveOperation, setReselectOnUpdate, setReselectOnUpdateNotifications, setResizeFieldsInRealTime, setReverseRTLAlign, setRollOverCanvasProperties, setRollUnderCanvasProperties, setRotatedHeaderMenuButtonHeight, setRotatedHeaderMenuButtonHeight, setRotatedHeaderMenuButtonWidth, setRotateHeaderTitles, setRowAriaState, setRowCountDisplayPrecision, setRowEndEditAction, setRowErrors, setRowErrors, setRowLocatorField, setRowLocatorField, setRowNumberFieldProperties, setRowNumberStart, setRowNumberStyle, setRowRangeDisplayStyle, setRowRangeFormat, setRowRole, setRowSpanEditMode, setRowSpanSelectionMode, setSaveByCell, setSaveCriteriaInViewState, setSaveDefaultSearch, setSavedSearchAdminRole, setSavedSearchDS, setSavedSearchId, setSavedSearchStoredState, setSavedSearchText, setSaveLocally, setSaveRequestProperties, setScreenReaderCellSeparator, setScreenReaderIncludeFieldTitles, setScreenReaderNavigateByCell, setScreenReaderRowSeparator, setScreenReaderWriteRowLabelledBy, setScrollRedrawDelay, setScrollToCellXPosition, setScrollToCellYPosition, setScrollWheelRedrawDelay, setSearchForm, setSearchForm, setSelectCellTextOnClick, setSelectedState, setSelectHeaderOnSort, setSelectionAppearance, setSelectionCanvasProperties, setSelectionType, setSelectionUnderCanvasProperties, setSelectOnEdit, setSelectOnExpandRecord, setSeparatorRowStyle, setShowAllColumns, setShowAllRecords, setShowAsynchGroupingPrompt, setShowBackgroundComponents, setShowCellContextMenus, setShowClippedHeaderTitlesOnHover, setShowClippedValuesOnHover, setShowCollapsedGroupSummary, setShowComplexFields, setShowDetailFields, setShowDropLines, setShowEllipsisWhenClipped, setShowEmptyMessage, setShowErrorIcons, setShowFilterEditor, setShowFilterEditorHovers, setShowFilterEditorTitle, setShowFilterWindowCriteriaIndicator, setShowGridSummary, setShowGroupSummary, setShowGroupSummaryInHeader, setShowGroupTitleColumn, setShowGroupTitleInFrozenBody, setShowHeader, setShowHeaderContextMenu, setShowHeaderMenuButton, setShowHeaderPartialSelection, setShowHeaderShadow, setShowHeaderSpanContextMenu, setShowHeaderSpanTitlesInFormulaBuilder, setShowHeaderSpanTitlesInHiliteEditor, setShowHeaderSpanTitlesInSortEditor, setShowHiddenFields, setShowHilitesInGroupSummary, setShowHover, setShowHoverComponents, setShowHoverOnDisabledCells, setShowInitialDragHandles, setShowNewRecordRow, setShowRecordComponents, setShowRecordComponentsByCell, setShowRollOver, setShowRollOverCanvas, setShowRollOverInExpansion, setShowRollUnderCanvas, setShowRowNumbers, setShowSavedSearchesByDS, setShowSelectedRollOverCanvas, setShowSelectedRollUnderCanvas, setShowSelectedStyle, setShowSelectionCanvas, setShowSelectionUnderCanvas, setShowSortArrow, setShowSortNumerals, setShowTreeColumnPicker, setShrinkForFreeze, setSingleCellValueProperty, setSkinImgDir, setSkipLineBreaks, setSort, setSortArrowMenuButtonSpaceOffset, setSortAscendingImage, setSortAscendingImage, setSortBinaryByFileName, setSortByGroupFirst, setSortDescendingImage, setSortDescendingImage, setSortDirection, setSortEditorSpanTitleSeparator, setSorterButtonTitle, setSortField, setSortField, setSortField, setSortFieldAscendingText, setSortFieldDescendingText, setSortNumeralHTMLCustomizer, setSortNumeralMenuButtonSpaceOffset, setSortNumeralStyle, setSortState, setSpannedHeaderBaseStyle, setSparseFieldState, setStopOnErrors, setStyledRowEnds, setStyleName, setSummaryRowCriteria, setSummaryRowDataSource, setSummaryRowFetchRequestProperties, setSummaryRowHeight, setSummaryRowStyle, setTableRowStyle, setTallBaseStyle, setTitleField, setTouchScrollRedrawDelay, setTrackerImage, setTrackerImage, setUnfreezeFieldText, setUngroupText, setUnknownRowCountDisplayValue, setUnremoveIcon, setUpdateOperation, setUpdateSummariesDuringEditing, setUseAdvancedCriteria, setUseAdvancedFieldPicker, setUseCellRollOvers, setUseClientFiltering, setUseCopyPasteShortcuts, setUseFlatFields, setUseMultiSelectForFilterValueMaps, setUserCriteriaState, setUseRemoteValidators, setUserFormula, setUserFormula, setUserFormula, setUserFormulaText, setUserFormulaText, setUserFormulaText, setUseRowSpanStyling, setUserSummary, setUserSummary, setUserSummary, setUserSummaryText, setUserSummaryText, setUserSummaryText, setValidateByCell, setValidateOnChange, setValueIconHeight, setValueIconLeftPadding, setValueIconRightPadding, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setViewState, setVirtualScrolling, setWaitForSave, setWarnOnRemoval, setWarnOnRemovalMessage, setWarnOnUnmappedValueFieldChange, setWrapCells, setWrapHeaderSpanTitles, setWrapHeaderTitles, shouldIncludeHiliteInSummaryField, showAIFilterWindow, showAIHiliteWindow, showDragHandles, showField, showField, showFields, showFields, showFields, showFields, showFilterWindow, showRecordComponent, sort, sort, sort, sort, startEditing, startEditing, startEditing, startEditing, startEditingNew, startEditingNew, startEditingNew, stopHover, summaryUpdated, toggleSort, transferRecords, transferSelectedData, transferSelectedData, unfreezeField, unfreezeField, unfreezeField, unfreezeField, unfreezeFields, unfreezeFields, ungroup, unmarkRecordRemoved, unsort, updateData, updateData, updateData, updateRecordComponent, userSelectAllRecords, validateCell, validateCell, validateRow, willFetchData, willFetchData`

  ### Methods inherited from class com.smartgwt.client.widgets.layout.VLayout

  `setDefaultProperties, setLogicalStructure`

  ### Methods inherited from class com.smartgwt.client.widgets.layout.Layout

  `addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, addMembersChangedHandler, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getChildTabPosition, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutEndMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutStartMargin, getLayoutTopMargin, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersLength, getMembersMargin, getMinMemberLength, getMinMemberSize, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, layoutIsDirty, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, replaceMember, revealChild, revealChild, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutEndMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutStartMargin, setLayoutTopMargin, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinBreadthMember, setMinBreadthMember, setMinBreadthMember, setMinMemberLength, setMinMemberSize, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

  ### Methods inherited from class com.smartgwt.client.widgets.Canvas

  `addChild, addChild, addChild, addChild, addChild, addClearHandler, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsEventTarget, containsFocus, containsPoint, containsPoint, dataContextChanged, deparent, depeer, disable, doValueDictation, doVoiceCommand, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAlwaysManageFocusNavigation, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeLayoutMode, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaHandleID, getAutoMaskComponents, getAutoParent, getAutoPopulateData, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBorderRadius, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCorrectZoomOverflow, getCursor, getDataContext, getDataPath, getDefaultHeight, getDefaultWidth, getDefiningProperty, getDefiningPropertyName, getDefiningPropertyNameOptions, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragTargetAsString, getDragType, getDropTarget, getDropTargetAsString, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFloatingScrollbars, getFormItemAutoChild, getForwardSVGeventsToObject, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupPadding, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverFocusKey, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverPersist, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlElementAsString, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeaveGroupLabelSpace, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateByIDOnly, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getLocatorName, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMatchElementHeight, getMatchElementWidth, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getName, getNativeAutoHideScrollbars, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPendingMarkerStyle, getPendingMarkerVisible, getPercentBox, getPercentSource, getPersistentMatchElement, getPointerSettings, getPointerTarget, getPointerTargetAsString, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrintStyleName, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getReceiveScrollbarEvents, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowPointer, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSizeMayChangeOnRedraw, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapGridLineProperties, getSnapGridStyle, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getTabIndex, getTestDataContext, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getTopLevelComponents, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getWorkflows, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, initComplete, intersects, isDirty, isDisabled, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, print, print, print, print, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, registerFontScaledPaddingStyles, removeChild, removeChild, removePeer, removePeer, removeRuleContext, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeControlsTo, resizeFonts, resizeFonts, resizeFonts, resizeFontsTo, resizeIcons, resizePadding, resizePadding, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAllowExternalFilters, setAlwaysManageFocusNavigation, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeLayoutMode, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoHeight, setAutoMaskComponents, setAutoParent, setAutoPopulateData, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBorderRadius, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCorrectZoomOverflow, setCursor, setDataContext, setDataPath, setDefaultHeight, setDefaultNativeAutoHideScrollbars, setDefaultPageSpace, setDefaultProperties, setDefaultShowCustomScrollbars, setDefaultWidth, setDefiningProperty, setDefiningPropertyNameOptions, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragTarget, setDragType, setDropTarget, setDropTarget, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setFloatingScrollbars, setForwardSVGeventsToObject, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupPadding, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverFocusKey, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverPersist, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeaveGroupLabelSpace, setLeavePageSpace, setLeft, setLeft, setLocateByIDOnly, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLocatorName, setLocatorParent, setLocatorParent, setLogicalStructure, setMargin, setMatchElement, setMatchElementHeight, setMatchElementWidth, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setName, setNativeAutoHideScrollbars, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentElement, setPeers, setPendingMarkerStyle, setPendingMarkerVisible, setPercentBox, setPercentSource, setPersistentMatchElement, setPointerSettings, setPointerTarget, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrintStyleName, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setReceiveScrollbarEvents, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowPointer, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSizeMayChangeOnRedraw, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapGridLineProperties, setSnapGridStyle, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setTabIndex, setTestDataContext, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setWorkflows, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPendingMarker, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, startDebuggingOverflow, stopDebuggingOverflow, supportsValueDictation, supportsVoiceCommands, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint`

  ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

  `addDrawHandler, addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, clearDynamicProperty, completeCreation, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hasDynamicProperty, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isDrawn, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDefaultProperties, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

  ### Methods inherited from class com.google.gwt.user.client.ui.Widget

  `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

  ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

  `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface com.smartgwt.client.widgets.DataBoundComponent

  `getOrCreateJsObj`

  ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

  `fireEvent`

- ## Constructor Details

  - ### TreeGrid

    public TreeGrid()

  - ### TreeGrid

    public TreeGrid(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static TreeGrid getOrCreateRef(JavaScriptObject jsObj)

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
    Changes the defaults for Canvas AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### changeAutoChildDefaults

    public static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
    Changes the defaults for FormItem AutoChildren named `autoChildName`.
    Parameters:
      `autoChildName` - name of an AutoChild to customize the defaults for.
      `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
    See Also:
      - `AutoChildUsage`

  - ### create

    protected JavaScriptObject create()
    Overrides:
      `create` in class `ListGrid`

  - ### setAlwaysShowOpener

    public TreeGrid setAlwaysShowOpener(Boolean alwaysShowOpener)
    If `showOpener` is true, should we display the opener icon for folders even if they have no children?

    Note that for trees which `load data on demand`, we may not know if a folder has any descendants if it has never been opened. As such we will show the opener icon next to the folder. Once the user opens the icon and a fetch occurs, if the folder is empty, and this property is false, the opener icon will be hidden.

    For more information on load on demand trees, and how we determine whether a node is a a folder or a leaf, please refer to the `TreeDataBinding` documentation.

    Parameters:
      `alwaysShowOpener` - New alwaysShowOpener value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getAlwaysShowOpener

    public Boolean getAlwaysShowOpener()
    If `showOpener` is true, should we display the opener icon for folders even if they have no children?

    Note that for trees which `load data on demand`, we may not know if a folder has any descendants if it has never been opened. As such we will show the opener icon next to the folder. Once the user opens the icon and a fetch occurs, if the folder is empty, and this property is false, the opener icon will be hidden.

    For more information on load on demand trees, and how we determine whether a node is a a folder or a leaf, please refer to the `TreeDataBinding` documentation.

    Returns:
      Current alwaysShowOpener value. Default value is false

  - ### setAnimateFolderEffect

    public TreeGrid setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)
    When animating folder opening / closing, this property can be set to apply an animated acceleration effect. This allows the animation speed to be "weighted", for example expanding or collapsing at a faster rate toward the beginning of the animation than at the end.
    Overrides:
      `setAnimateFolderEffect` in class `ListGrid`
    Parameters:
      `animateFolderEffect` - New animateFolderEffect value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getAnimateFolderEffect

    public AnimationAcceleration getAnimateFolderEffect()
    When animating folder opening / closing, this property can be set to apply an animated acceleration effect. This allows the animation speed to be "weighted", for example expanding or collapsing at a faster rate toward the beginning of the animation than at the end.
    Overrides:
      `getAnimateFolderEffect` in class `ListGrid`
    Returns:
      Current animateFolderEffect value. Default value is null

  - ### setAnimateFolderMaxRows

    public TreeGrid setAnimateFolderMaxRows(Integer animateFolderMaxRows)
    If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
    Overrides:
      `setAnimateFolderMaxRows` in class `ListGrid`
    Parameters:
      `animateFolderMaxRows` - New animateFolderMaxRows value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `getAnimateFolderMaxRows()`

  - ### getAnimateFolderMaxRows

    public Integer getAnimateFolderMaxRows()
    If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
    Overrides:
      `getAnimateFolderMaxRows` in class `ListGrid`
    Returns:
      If `animateFolders` is true for this treeGrid, this method returns the the maximum number of rows to animate at a time when opening / closing a folder. This method will return `animateFolderMaxRows` if set. Otherwise the value will be calculated as 3x the number of rows required to fill a viewport, capped at a maximum value of 75. Default value is null
    See Also:
      - `getAnimateFolderMaxRows()`

  - ### setAnimateFolders

    public TreeGrid setAnimateFolders(Boolean animateFolders)
    If true, when folders are opened / closed children will be animated into view.

    Folder animations are automatically disabled if `ListGrid.autoFitData` is set to "vertical" or "both", or if `records components` are used.

    Overrides:
      `setAnimateFolders` in class `ListGrid`
    Parameters:
      `animateFolders` - New animateFolders value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - Tree Folders Example

  - ### getAnimateFolders

    public Boolean getAnimateFolders()
    If true, when folders are opened / closed children will be animated into view.

    Folder animations are automatically disabled if `ListGrid.autoFitData` is set to "vertical" or "both", or if `records components` are used.

    Overrides:
      `getAnimateFolders` in class `ListGrid`
    Returns:
      Current animateFolders value. Default value is true
    See Also:
      - Tree Folders Example

  - ### setAnimateFolderSpeed

    public TreeGrid setAnimateFolderSpeed(int animateFolderSpeed)
    When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second. Takes precedence over the `animateFolderTime` property, which allows the developer to specify a duration for the animation rather than a speed.
    Overrides:
      `setAnimateFolderSpeed` in class `ListGrid`
    Parameters:
      `animateFolderSpeed` - New animateFolderSpeed value. Default value is 3000
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `setAnimateFolderTime(int)`
      - Tree Folders Example

  - ### getAnimateFolderSpeed

    public int getAnimateFolderSpeed()
    When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second. Takes precedence over the `animateFolderTime` property, which allows the developer to specify a duration for the animation rather than a speed.
    Overrides:
      `getAnimateFolderSpeed` in class `ListGrid`
    Returns:
      Current animateFolderSpeed value. Default value is 3000
    See Also:
      - `getAnimateFolderTime()`
      - Tree Folders Example

  - ### setAnimateFolderTime

    public TreeGrid setAnimateFolderTime(int animateFolderTime)
    When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    Overrides:
      `setAnimateFolderTime` in class `ListGrid`
    Parameters:
      `animateFolderTime` - New animateFolderTime value. Default value is 100
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `setAnimateFolderSpeed(int)`

  - ### getAnimateFolderTime

    public int getAnimateFolderTime()
    When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    Overrides:
      `getAnimateFolderTime` in class `ListGrid`
    Returns:
      Current animateFolderTime value. Default value is 100
    See Also:
      - `getAnimateFolderSpeed()`

  - ### setAutoAssignTreeField

    public TreeGrid setAutoAssignTreeField(boolean autoAssignTreeField) throws IllegalStateException
    If this grid was passed an explicit set of fields, but no field was specified as the "tree-field" (showing indentations for tree hierarchy and tree icons), should we assign one of the other fields to be the tree-field?

    When true, if we're showing a field for the `Tree.titleProperty` of the tree, this will be displayed as a Tree Field by default. If not, the first entry in the specified fields array will be used.

    This may be set to false to display a tree or partial tree as a flattened list within a TreeGrid.

    Parameters:
      `autoAssignTreeField` - New autoAssignTreeField value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getAutoAssignTreeField

    public boolean getAutoAssignTreeField()
    If this grid was passed an explicit set of fields, but no field was specified as the "tree-field" (showing indentations for tree hierarchy and tree icons), should we assign one of the other fields to be the tree-field?

    When true, if we're showing a field for the `Tree.titleProperty` of the tree, this will be displayed as a Tree Field by default. If not, the first entry in the specified fields array will be used.

    This may be set to false to display a tree or partial tree as a flattened list within a TreeGrid.

    Returns:
      Current autoAssignTreeField value. Default value is true

  - ### setAutoFetchTextMatchStyle

    public TreeGrid setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle) throws IllegalStateException
    With `loadDataOnDemand`:true, TreeGrids fetch data by selecting the child nodes of each parent, which should be exact match, so we default to `autoFetchTextMatchStyle:"exact"` when autoFetchData is true.

    See `ListGrid.autoFetchTextMatchStyle` for details.

    Specified by:
      `setAutoFetchTextMatchStyle` in interface `DataBoundComponent`
    Overrides:
      `setAutoFetchTextMatchStyle` in class `ListGrid`
    Parameters:
      `autoFetchTextMatchStyle` - New autoFetchTextMatchStyle value. Default value is "exact"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `ResultTree.setUseSimpleCriteriaLOD(boolean)`
      - `DataBinding`

  - ### getAutoFetchTextMatchStyle

    public TextMatchStyle getAutoFetchTextMatchStyle()
    With `loadDataOnDemand`:true, TreeGrids fetch data by selecting the child nodes of each parent, which should be exact match, so we default to `autoFetchTextMatchStyle:"exact"` when autoFetchData is true.

    See `ListGrid.autoFetchTextMatchStyle` for details.

    Specified by:
      `getAutoFetchTextMatchStyle` in interface `DataBoundComponent`
    Overrides:
      `getAutoFetchTextMatchStyle` in class `ListGrid`
    Returns:
      Current autoFetchTextMatchStyle value. Default value is "exact"
    See Also:
      - `ResultTree.getUseSimpleCriteriaLOD()`
      - `DataBinding`

  - ### setAutoOpenTree

    public TreeGrid setAutoOpenTree(String autoOpenTree) throws IllegalStateException
    Which nodes should be opened automatically. This applies directly to `ResultTree.autoOpen`.
    Parameters:
      `autoOpenTree` - New autoOpenTree value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getAutoOpenTree

    public String getAutoOpenTree()
    Which nodes should be opened automatically. This applies directly to `ResultTree.autoOpen`.
    Returns:
      Current autoOpenTree value. Default value is null

  - ### setAutoPreserveOpenState

    public TreeGrid setAutoPreserveOpenState(PreserveOpenState autoPreserveOpenState) throws IllegalStateException
    For dataBound treeGrids this specifies the `ResultTree.autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
    Parameters:
      `autoPreserveOpenState` - New autoPreserveOpenState value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getAutoPreserveOpenState

    public PreserveOpenState getAutoPreserveOpenState()
    For dataBound treeGrids this specifies the `ResultTree.autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
    Returns:
      Current autoPreserveOpenState value. Default value is null

  - ### setCanAcceptDroppedRecords

    public TreeGrid setCanAcceptDroppedRecords(Boolean canAcceptDroppedRecords)
    Indicates whether records can be dropped into this listGrid.
    Overrides:
      `setCanAcceptDroppedRecords` in class `ListGrid`
    Parameters:
      `canAcceptDroppedRecords` - New canAcceptDroppedRecords value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeNode.setCanDrag(java.lang.Boolean)`
      - `TreeNode.setCanAcceptDrop(java.lang.Boolean)`
      - `TreeGrid drag and drop`
      - Drag reparent Example

  - ### getCanAcceptDroppedRecords

    public Boolean getCanAcceptDroppedRecords()
    Indicates whether records can be dropped into this listGrid.
    Overrides:
      `getCanAcceptDroppedRecords` in class `ListGrid`
    Returns:
      Current canAcceptDroppedRecords value. Default value is false
    See Also:
      - `TreeNode.getCanDrag()`
      - `TreeNode.getCanAcceptDrop()`
      - `TreeGrid drag and drop`
      - Drag reparent Example

  - ### setCanDragRecordsOut

    public TreeGrid setCanDragRecordsOut(Boolean canDragRecordsOut)
    Indicates whether records can be dragged from this listGrid and dropped elsewhere.

    NOTE: If `canDragRecordsOut` is initially enabled or might be dynamically enabled after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a drag operation rather than a scroll, but see the discussion of `drag handles`. If `Canvas.disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag and drop of records out of the grid.

    Overrides:
      `setCanDragRecordsOut` in class `ListGrid`
    Parameters:
      `canDragRecordsOut` - New canDragRecordsOut value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeNode.setCanDrag(java.lang.Boolean)`
      - `TreeNode.setCanAcceptDrop(java.lang.Boolean)`
      - `ListGrid.showDragHandles()`
      - `TreeGrid drag and drop`
      - Drop Events Example

  - ### getCanDragRecordsOut

    public Boolean getCanDragRecordsOut()
    Indicates whether records can be dragged from this listGrid and dropped elsewhere.

    NOTE: If `canDragRecordsOut` is initially enabled or might be dynamically enabled after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a drag operation rather than a scroll, but see the discussion of `drag handles`. If `Canvas.disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag and drop of records out of the grid.

    Overrides:
      `getCanDragRecordsOut` in class `ListGrid`
    Returns:
      Current canDragRecordsOut value. Default value is false
    See Also:
      - `TreeNode.getCanDrag()`
      - `TreeNode.getCanAcceptDrop()`
      - `ListGrid.showDragHandles()`
      - `TreeGrid drag and drop`
      - Drop Events Example

  - ### setCanDropOnLeaves

    public TreeGrid setCanDropOnLeaves(Boolean canDropOnLeaves)
    Whether drops are allowed on leaf nodes.

    Dropping is ordinarily not allowed on leaf nodes unless `canReorderRecords` is set.

    The default action for a drop on a leaf node is to place the node in that leaf's parent folder. This can be customized by overriding `folderDrop()`.

    Note that enabling `canDropOnLeaves` is usually only appropriate where you intend to add a custom `folderDrop()` implementation that does not add a child node under the leaf. If you want to add a child nodes to a leaf, instead of enabling canDropOnLeaves, use empty folders instead - see `Tree.isFolder()` for how to control whether a node is considered a folder.

    Note : This is an advanced setting

    Parameters:
      `canDropOnLeaves` - New canDropOnLeaves value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeGrid drag and drop`

  - ### getCanDropOnLeaves

    public Boolean getCanDropOnLeaves()
    Whether drops are allowed on leaf nodes.

    Dropping is ordinarily not allowed on leaf nodes unless `canReorderRecords` is set.

    The default action for a drop on a leaf node is to place the node in that leaf's parent folder. This can be customized by overriding `folderDrop()`.

    Note that enabling `canDropOnLeaves` is usually only appropriate where you intend to add a custom `folderDrop()` implementation that does not add a child node under the leaf. If you want to add a child nodes to a leaf, instead of enabling canDropOnLeaves, use empty folders instead - see `Tree.isFolder()` for how to control whether a node is considered a folder.

    Returns:
      Current canDropOnLeaves value. Default value is false
    See Also:
      - `TreeGrid drag and drop`

  - ### setCanDropSiblingAfterLastNode

    public TreeGrid setCanDropSiblingAfterLastNode(boolean canDropSiblingAfterLastNode)
    When performing a drag and drop to add or move data within the tree, should users be able to make the dropped node a sibling of the last node in the tree by dropping just below it?

    When set to true, if a user performs a drop action in the space immediately below the last node, (less than half the grid's specified cellHeight away), the dropped data will be added to the parent of that last node, making them siblings. If the parent `will not accept drops`, the dropped data will be added to the first ancestor that will accept a drop.

    If the user performs the drop lower down in the empty area below the last row, of if this property is set to `false`, the dropped data will be added as a last child to the root node instead.

    Note : This is an advanced setting

    Parameters:
      `canDropSiblingAfterLastNode` - New canDropSiblingAfterLastNode value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getCanDropSiblingAfterLastNode

    public boolean getCanDropSiblingAfterLastNode()
    When performing a drag and drop to add or move data within the tree, should users be able to make the dropped node a sibling of the last node in the tree by dropping just below it?

    When set to true, if a user performs a drop action in the space immediately below the last node, (less than half the grid's specified cellHeight away), the dropped data will be added to the parent of that last node, making them siblings. If the parent `will not accept drops`, the dropped data will be added to the first ancestor that will accept a drop.

    If the user performs the drop lower down in the empty area below the last row, of if this property is set to `false`, the dropped data will be added as a last child to the root node instead.

    Returns:
      Current canDropSiblingAfterLastNode value. Default value is true

  - ### setCanReorderRecords

    public TreeGrid setCanReorderRecords(Boolean canReorderRecords)
    Indicates whether records can be reordered by dragging within this `ListGrid`.

    NOTE: If `canReorderRecords` is initially enabled or might be `dynamically enabled` after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a reorder operation rather than a scroll, but see the discussion of `drag handles`. If `Canvas.disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-reordering of records.

    Note : This is an advanced setting

    Overrides:
      `setCanReorderRecords` in class `ListGrid`
    Parameters:
      `canReorderRecords` - New canReorderRecords value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeNode.setCanDrag(java.lang.Boolean)`
      - `TreeNode.setCanAcceptDrop(java.lang.Boolean)`
      - `ListGrid.showDragHandles()`
      - `TreeGrid drag and drop`
      - Drag reparent Example

  - ### getCanReorderRecords

    public Boolean getCanReorderRecords()
    Indicates whether records can be reordered by dragging within this `ListGrid`.

    NOTE: If `canReorderRecords` is initially enabled or might be `dynamically enabled` after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a reorder operation rather than a scroll, but see the discussion of `drag handles`. If `Canvas.disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-reordering of records.

    Overrides:
      `getCanReorderRecords` in class `ListGrid`
    Returns:
      Current canReorderRecords value. Default value is false
    See Also:
      - `TreeNode.getCanDrag()`
      - `TreeNode.getCanAcceptDrop()`
      - `ListGrid.showDragHandles()`
      - `TreeGrid drag and drop`
      - Drag reparent Example

  - ### setCanReparentNodes

    public TreeGrid setCanReparentNodes(Boolean canReparentNodes)
    If set this property allows the user to reparent nodes by dragging them from their current folder to a new folder.
    Backcompat: For backwards compatibility with versions prior to Smart GWT 1.5, if this property is unset, but `this.canAcceptDroppedRecords` is true, we allow nodes to be dragged to different folders.
    Parameters:
      `canReparentNodes` - New canReparentNodes value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeNode.setCanDrag(java.lang.Boolean)`
      - `TreeNode.setCanAcceptDrop(java.lang.Boolean)`
      - `TreeGrid drag and drop`

  - ### getCanReparentNodes

    public Boolean getCanReparentNodes()
    If set this property allows the user to reparent nodes by dragging them from their current folder to a new folder.
    Backcompat: For backwards compatibility with versions prior to Smart GWT 1.5, if this property is unset, but `this.canAcceptDroppedRecords` is true, we allow nodes to be dragged to different folders.
    Returns:
      Current canReparentNodes value. Default value is null
    See Also:
      - `TreeNode.getCanDrag()`
      - `TreeNode.getCanAcceptDrop()`
      - `TreeGrid drag and drop`

  - ### setCanSelectAll

    public TreeGrid setCanSelectAll(Boolean canSelectAll)
    This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
    Overrides:
      `setCanSelectAll` in class `ListGrid`
    Parameters:
      `canSelectAll` - New canSelectAll value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `Selection`

  - ### getCanSelectAll

    public Boolean getCanSelectAll()
    This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
    Overrides:
      `getCanSelectAll` in class `ListGrid`
    Returns:
      Current canSelectAll value. Default value is null
    See Also:
      - `Selection`

  - ### setCantDragIntoChildMessage

    public TreeGrid setCantDragIntoChildMessage(String cantDragIntoChildMessage) throws IllegalStateException
    Message displayed when user attempts to drop a node into a child of itself.
    Parameters:
      `cantDragIntoChildMessage` - New cantDragIntoChildMessage value. Default value is "You can't drag an item into one of its children"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setCanDragRecordsOut(java.lang.Boolean)`
      - `setCanAcceptDroppedRecords(java.lang.Boolean)`
      - `setCanReorderRecords(java.lang.Boolean)`

  - ### getCantDragIntoChildMessage

    public String getCantDragIntoChildMessage()
    Message displayed when user attempts to drop a node into a child of itself.
    Returns:
      Current cantDragIntoChildMessage value. Default value is "You can't drag an item into one of its children"
    See Also:
      - `getCanDragRecordsOut()`
      - `getCanAcceptDroppedRecords()`
      - `getCanReorderRecords()`

  - ### setCantDragIntoSelfMessage

    public TreeGrid setCantDragIntoSelfMessage(String cantDragIntoSelfMessage) throws IllegalStateException
    Message displayed when user attempts to drop a dragged node onto itself.
    Parameters:
      `cantDragIntoSelfMessage` - New cantDragIntoSelfMessage value. Default value is "You can't drag an item into itself."
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setCanDragRecordsOut(java.lang.Boolean)`
      - `setCanAcceptDroppedRecords(java.lang.Boolean)`
      - `setCanReorderRecords(java.lang.Boolean)`

  - ### getCantDragIntoSelfMessage

    public String getCantDragIntoSelfMessage()
    Message displayed when user attempts to drop a dragged node onto itself.
    Returns:
      Current cantDragIntoSelfMessage value. Default value is "You can't drag an item into itself."
    See Also:
      - `getCanDragRecordsOut()`
      - `getCanAcceptDroppedRecords()`
      - `getCanReorderRecords()`

  - ### setCantDragMultipleNodeOccurencesMessage

    public TreeGrid setCantDragMultipleNodeOccurencesMessage(String cantDragMultipleNodeOccurencesMessage) throws IllegalStateException
    For `Multi-link trees` only, the message displayed when the user attempts to drag two or more occurrences of the same node into a parent.
    Parameters:
      `cantDragMultipleNodeOccurencesMessage` - New cantDragMultipleNodeOccurencesMessage value. Default value is "You can't drag two occurrences of the same node into a parent."
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setCanDragRecordsOut(java.lang.Boolean)`
      - `setCanAcceptDroppedRecords(java.lang.Boolean)`
      - `setCanReorderRecords(java.lang.Boolean)`
      - `setParentAlreadyContainsChildMessage(java.lang.String)`

  - ### getCantDragMultipleNodeOccurencesMessage

    public String getCantDragMultipleNodeOccurencesMessage()
    For `Multi-link trees` only, the message displayed when the user attempts to drag two or more occurrences of the same node into a parent.
    Returns:
      Current cantDragMultipleNodeOccurencesMessage value. Default value is "You can't drag two occurrences of the same node into a parent."
    See Also:
      - `getCanDragRecordsOut()`
      - `getCanAcceptDroppedRecords()`
      - `getCanReorderRecords()`
      - `getParentAlreadyContainsChildMessage()`

  - ### setCascadeSelection

    public TreeGrid setCascadeSelection(Boolean cascadeSelection) throws IllegalStateException
    Should children be selected when parent is selected? And should parent be selected when any child is selected?
    Parameters:
      `cascadeSelection` - New cascadeSelection value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getCascadeSelection

    public Boolean getCascadeSelection()
    Should children be selected when parent is selected? And should parent be selected when any child is selected?
    Returns:
      Current cascadeSelection value. Default value is false

  - ### setChildCannotBeItsOwnAncestorMessage

    public TreeGrid setChildCannotBeItsOwnAncestorMessage(String childCannotBeItsOwnAncestorMessage) throws IllegalStateException
    Message displayed when user attempts to drop a node into a parent that has the same ID as the dropped node somewhere in its ancestor chain (ie, the same node as the parent, or grandparent, and so on)
    Parameters:
      `childCannotBeItsOwnAncestorMessage` - New childCannotBeItsOwnAncestorMessage value. Default value is "This drag operation would mean an item is a descendant of an existing item with the same ID"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setCanDragRecordsOut(java.lang.Boolean)`
      - `setCanAcceptDroppedRecords(java.lang.Boolean)`
      - `setCanReorderRecords(java.lang.Boolean)`

  - ### getChildCannotBeItsOwnAncestorMessage

    public String getChildCannotBeItsOwnAncestorMessage()
    Message displayed when user attempts to drop a node into a parent that has the same ID as the dropped node somewhere in its ancestor chain (ie, the same node as the parent, or grandparent, and so on)
    Returns:
      Current childCannotBeItsOwnAncestorMessage value. Default value is "This drag operation would mean an item is a descendant of an existing item with the same ID"
    See Also:
      - `getCanDragRecordsOut()`
      - `getCanAcceptDroppedRecords()`
      - `getCanReorderRecords()`

  - ### setClosedIconSuffix

    public TreeGrid setClosedIconSuffix(String closedIconSuffix) throws IllegalStateException
    This suffix will be appended to the `folderIcon` for closed folders. If `showOpenIcons` is set to `false` this suffix will also be appended to open folders' icons.
    Parameters:
      `closedIconSuffix` - New closedIconSuffix value. Default value is "closed"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getClosedIconSuffix

    public String getClosedIconSuffix()
    This suffix will be appended to the `folderIcon` for closed folders. If `showOpenIcons` is set to `false` this suffix will also be appended to open folders' icons.
    Returns:
      Current closedIconSuffix value. Default value is "closed"

  - ### setConnectorIconWidth

    public TreeGrid setConnectorIconWidth(Integer connectorIconWidth)
    Width in pixels of the connector-icons, that is, the icons which show the open or closed state of the node when using `connectors`, typically a [+] or [-] symbol with connecting lines.

    If not specified, `openerIconWidth` is used instead.

    Parameters:
      `connectorIconWidth` - New connectorIconWidth value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getConnectorIconWidth

    public Integer getConnectorIconWidth()
    Width in pixels of the connector-icons, that is, the icons which show the open or closed state of the node when using `connectors`, typically a [+] or [-] symbol with connecting lines.

    If not specified, `openerIconWidth` is used instead.

    Returns:
      Current connectorIconWidth value. Default value is null

  - ### setConnectorImage

    public TreeGrid setConnectorImage(String connectorImage) throws IllegalStateException
    The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true. Connector icons are rendered into the title field of each row and show the dotted hierarchy lines between siblings of the same parent node. For each node, a connector icon may be shown:
    - As an opener icon for folder nodes, next to the folder icon
    - In place of an opener icon for leaf nodes, next to the leaf icon
    - As a standalone vertical continuation line in the indent to the left of the node, to show a connection between some ancestor node's siblings (only relevant if `showFullConnectors` is true).
    Note that `showFullConnectors` governs whether connector lines will be displayed for all indent levels, or just for the innermost level of the tree.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node. Assuming the connectorImage is set to `{baseName}.{extension}`, the full set of images to be displayed will be:

    `{baseName}_ancestor[_rtl].{extension}` if `showFullConnectors` is true, this is the URL for the vertical continuation image to be displayed at the appropriate indent levels for ancestor nodes with subsequent children.

    For nodes with no children:

    - `{baseName}_single[_rtl].{extension}`: Shown when there is no connector line attached to the parent or previous sibling, and no connector line to the next sibling. For `showFullConnectors:true` trees, there will always be a connector leading to the parent or previous sibling if its present in the tree so this icon can only be displayed for the first row.
    - `{baseName}_start[_rtl].{extension}`: Shown when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling. As with `_single` this will only ever be used for the first row if `showFullConnectors` is true
    - `{baseName}_end[_rtl].{extension}`: Shown if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_middle[_rtl].{extension}`: Shown where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    For folders with children. Note that if `showFullConnectors` is false, open folders will never show a connector to subsequent siblings:
    - `{baseName}_opened_single[_rtl].{extension}` opened folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_opened_start[_rtl].{extension}`: opened folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_opened_end[_rtl].{extension}`: opened folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_opened_middle[_rtl].{extension}`: opened folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    - `{baseName}_closed_single[_rtl].{extension}` closed folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_closed_start[_rtl].{extension}`: closed folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_closed_end[_rtl].{extension}`: closed folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_closed_middle[_rtl].{extension}`: closed folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    (Note '[_rtl]' means that "_rtl" will be attached if isRTL() is true for this widget).

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for a connectorImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_ancestor[_rtl]_selected.{extension}`, `{baseName}_single[_rtl]_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states listed above. These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    Parameters:
      `connectorImage` - New connectorImage value. Default value is "[SKIN]connector.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `SCImgURL`

  - ### getConnectorImage

    public String getConnectorImage()
    The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true. Connector icons are rendered into the title field of each row and show the dotted hierarchy lines between siblings of the same parent node. For each node, a connector icon may be shown:
    - As an opener icon for folder nodes, next to the folder icon
    - In place of an opener icon for leaf nodes, next to the leaf icon
    - As a standalone vertical continuation line in the indent to the left of the node, to show a connection between some ancestor node's siblings (only relevant if `showFullConnectors` is true).
    Note that `showFullConnectors` governs whether connector lines will be displayed for all indent levels, or just for the innermost level of the tree.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node. Assuming the connectorImage is set to `{baseName}.{extension}`, the full set of images to be displayed will be:

    `{baseName}_ancestor[_rtl].{extension}` if `showFullConnectors` is true, this is the URL for the vertical continuation image to be displayed at the appropriate indent levels for ancestor nodes with subsequent children.

    For nodes with no children:

    - `{baseName}_single[_rtl].{extension}`: Shown when there is no connector line attached to the parent or previous sibling, and no connector line to the next sibling. For `showFullConnectors:true` trees, there will always be a connector leading to the parent or previous sibling if its present in the tree so this icon can only be displayed for the first row.
    - `{baseName}_start[_rtl].{extension}`: Shown when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling. As with `_single` this will only ever be used for the first row if `showFullConnectors` is true
    - `{baseName}_end[_rtl].{extension}`: Shown if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_middle[_rtl].{extension}`: Shown where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    For folders with children. Note that if `showFullConnectors` is false, open folders will never show a connector to subsequent siblings:
    - `{baseName}_opened_single[_rtl].{extension}` opened folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_opened_start[_rtl].{extension}`: opened folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_opened_end[_rtl].{extension}`: opened folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_opened_middle[_rtl].{extension}`: opened folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    - `{baseName}_closed_single[_rtl].{extension}` closed folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_closed_start[_rtl].{extension}`: closed folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_closed_end[_rtl].{extension}`: closed folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_closed_middle[_rtl].{extension}`: closed folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    (Note '[_rtl]' means that "_rtl" will be attached if isRTL() is true for this widget).

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for a connectorImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_ancestor[_rtl]_selected.{extension}`, `{baseName}_single[_rtl]_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states listed above. These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    Returns:
      Current connectorImage value. Default value is "[SKIN]connector.gif"
    See Also:
      - `SCImgURL`

  - ### setConnectorImage

    public TreeGrid setConnectorImage(SCStatefulImgConfig connectorImage) throws IllegalStateException
    The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true. Connector icons are rendered into the title field of each row and show the dotted hierarchy lines between siblings of the same parent node. For each node, a connector icon may be shown:
    - As an opener icon for folder nodes, next to the folder icon
    - In place of an opener icon for leaf nodes, next to the leaf icon
    - As a standalone vertical continuation line in the indent to the left of the node, to show a connection between some ancestor node's siblings (only relevant if `showFullConnectors` is true).
    Note that `showFullConnectors` governs whether connector lines will be displayed for all indent levels, or just for the innermost level of the tree.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node. Assuming the connectorImage is set to `{baseName}.{extension}`, the full set of images to be displayed will be:

    `{baseName}_ancestor[_rtl].{extension}` if `showFullConnectors` is true, this is the URL for the vertical continuation image to be displayed at the appropriate indent levels for ancestor nodes with subsequent children.

    For nodes with no children:

    - `{baseName}_single[_rtl].{extension}`: Shown when there is no connector line attached to the parent or previous sibling, and no connector line to the next sibling. For `showFullConnectors:true` trees, there will always be a connector leading to the parent or previous sibling if its present in the tree so this icon can only be displayed for the first row.
    - `{baseName}_start[_rtl].{extension}`: Shown when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling. As with `_single` this will only ever be used for the first row if `showFullConnectors` is true
    - `{baseName}_end[_rtl].{extension}`: Shown if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_middle[_rtl].{extension}`: Shown where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    For folders with children. Note that if `showFullConnectors` is false, open folders will never show a connector to subsequent siblings:
    - `{baseName}_opened_single[_rtl].{extension}` opened folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_opened_start[_rtl].{extension}`: opened folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_opened_end[_rtl].{extension}`: opened folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_opened_middle[_rtl].{extension}`: opened folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    - `{baseName}_closed_single[_rtl].{extension}` closed folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_closed_start[_rtl].{extension}`: closed folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_closed_end[_rtl].{extension}`: closed folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_closed_middle[_rtl].{extension}`: closed folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    (Note '[_rtl]' means that "_rtl" will be attached if isRTL() is true for this widget).

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for a connectorImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_ancestor[_rtl]_selected.{extension}`, `{baseName}_single[_rtl]_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states listed above. These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    Parameters:
      `connectorImage` - New connectorImage value. Default value is "[SKIN]connector.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `SCImgURL`

  - ### getConnectorImageAsSCStatefulImgConfig

    public SCStatefulImgConfig getConnectorImageAsSCStatefulImgConfig()
    The base filename or `stateful image block` for the connector icons shown when `showConnectors` is true. Connector icons are rendered into the title field of each row and show the dotted hierarchy lines between siblings of the same parent node. For each node, a connector icon may be shown:
    - As an opener icon for folder nodes, next to the folder icon
    - In place of an opener icon for leaf nodes, next to the leaf icon
    - As a standalone vertical continuation line in the indent to the left of the node, to show a connection between some ancestor node's siblings (only relevant if `showFullConnectors` is true).
    Note that `showFullConnectors` governs whether connector lines will be displayed for all indent levels, or just for the innermost level of the tree.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node. Assuming the connectorImage is set to `{baseName}.{extension}`, the full set of images to be displayed will be:

    `{baseName}_ancestor[_rtl].{extension}` if `showFullConnectors` is true, this is the URL for the vertical continuation image to be displayed at the appropriate indent levels for ancestor nodes with subsequent children.

    For nodes with no children:

    - `{baseName}_single[_rtl].{extension}`: Shown when there is no connector line attached to the parent or previous sibling, and no connector line to the next sibling. For `showFullConnectors:true` trees, there will always be a connector leading to the parent or previous sibling if its present in the tree so this icon can only be displayed for the first row.
    - `{baseName}_start[_rtl].{extension}`: Shown when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling. As with `_single` this will only ever be used for the first row if `showFullConnectors` is true
    - `{baseName}_end[_rtl].{extension}`: Shown if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_middle[_rtl].{extension}`: Shown where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    For folders with children. Note that if `showFullConnectors` is false, open folders will never show a connector to subsequent siblings:
    - `{baseName}_opened_single[_rtl].{extension}` opened folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_opened_start[_rtl].{extension}`: opened folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_opened_end[_rtl].{extension}`: opened folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_opened_middle[_rtl].{extension}`: opened folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    - `{baseName}_closed_single[_rtl].{extension}` closed folder node with children when no connector line is shown attaching to either the folder's previous sibling or parent, or to any subsequent siblings.
    - `{baseName}_closed_start[_rtl].{extension}`: closed folder with children when the there is no connector line attached to the parent or previous sibling, but there is a connector to the next sibling.
    - `{baseName}_closed_end[_rtl].{extension}`: closed folder with children if we are not showing a connector line attached to the next sibling of this node (but are showing a connection to the previous sibling or parent).
    - `{baseName}_closed_middle[_rtl].{extension}`: closed folder with children where the we have a connector line leading to both the previous sibling (or parent) and the next sibling.
    (Note '[_rtl]' means that "_rtl" will be attached if isRTL() is true for this widget).

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for a connectorImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_ancestor[_rtl]_selected.{extension}`, `{baseName}_single[_rtl]_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states listed above. These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    Returns:
      Current connectorImage value. Default value is "[SKIN]connector.gif"
    See Also:
      - `SCImgURL`

  - ### setCreateDefaultTreeField

    public TreeGrid setCreateDefaultTreeField(Boolean createDefaultTreeField) throws IllegalStateException
    If no fields are specified, create a single field with `TreeGridField.treeField` set to `true` to show the tree.

    This automatically generated field will display values derived by calling `getNodeTitle()`, and have the column title set to the specified `treeFieldTitle`.

    Has no effect if fields are explicitly specified.

    This is a convenience setting to allow a TreeGrid to be created without specifying a field list. If fields are specified, refer to the documentation on property `autoAssignTreeField` for a way to automatically have one of the fields be use as the tree field if no fields have `TreeGridField.treeField` set.

    For databound treeGrids, if there is no explicit fields array specified, developers who wish to pick up all fields from the DataSource definition rather than displaying this single automatically generated tree field may either set this property to false, or set `useAllDataSourceFields` to `true`.

    Parameters:
      `createDefaultTreeField` - New createDefaultTreeField value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getCreateDefaultTreeField

    public Boolean getCreateDefaultTreeField()
    If no fields are specified, create a single field with `TreeGridField.treeField` set to `true` to show the tree.

    This automatically generated field will display values derived by calling `getNodeTitle()`, and have the column title set to the specified `treeFieldTitle`.

    Has no effect if fields are explicitly specified.

    This is a convenience setting to allow a TreeGrid to be created without specifying a field list. If fields are specified, refer to the documentation on property `autoAssignTreeField` for a way to automatically have one of the fields be use as the tree field if no fields have `TreeGridField.treeField` set.

    For databound treeGrids, if there is no explicit fields array specified, developers who wish to pick up all fields from the DataSource definition rather than displaying this single automatically generated tree field may either set this property to false, or set `useAllDataSourceFields` to `true`.

    Returns:
      Current createDefaultTreeField value. Default value is true

  - ### setCustomIconDropProperty

    public TreeGrid setCustomIconDropProperty(String customIconDropProperty)
    This property allows the developer to rename the `default node.showDropIcon` property.

    Note : This is an advanced setting

    Parameters:
      `customIconDropProperty` - New customIconDropProperty value. Default value is "showDropIcon"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `setCustomIconProperty(java.lang.String)`
      - `setShowCustomIconDrop(java.lang.Boolean)`

  - ### getCustomIconDropProperty

    public String getCustomIconDropProperty()
    This property allows the developer to rename the `default node.showDropIcon` property.
    Returns:
      Current customIconDropProperty value. Default value is "showDropIcon"
    See Also:
      - `getCustomIconProperty()`
      - `getShowCustomIconDrop()`

  - ### setCustomIconOpenProperty

    public TreeGrid setCustomIconOpenProperty(String customIconOpenProperty)
    This property allows the developer to rename the `default node.showOpenIcon` property.

    Note : This is an advanced setting

    Parameters:
      `customIconOpenProperty` - New customIconOpenProperty value. Default value is "showOpenIcon"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `setCustomIconProperty(java.lang.String)`
      - `setShowCustomIconOpen(java.lang.Boolean)`

  - ### getCustomIconOpenProperty

    public String getCustomIconOpenProperty()
    This property allows the developer to rename the `default node.showOpenIcon` property.
    Returns:
      Current customIconOpenProperty value. Default value is "showOpenIcon"
    See Also:
      - `getCustomIconProperty()`
      - `getShowCustomIconOpen()`

  - ### setCustomIconProperty

    public TreeGrid setCustomIconProperty(String customIconProperty)
    This property allows the developer to rename the `default node.icon` property.
    Parameters:
      `customIconProperty` - New customIconProperty value. Default value is "icon"
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getCustomIconProperty

    public String getCustomIconProperty()
    This property allows the developer to rename the `default node.icon` property.
    Returns:
      Current customIconProperty value. Default value is "icon"

  - ### setCustomIconSelectedProperty

    public TreeGrid setCustomIconSelectedProperty(String customIconSelectedProperty)
    This property allows the developer to rename the `default node.showSelectedIcon` property.

    Note : This is an advanced setting

    Parameters:
      `customIconSelectedProperty` - New customIconSelectedProperty value. Default value is "showSelectedIcon"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `setCustomIconProperty(java.lang.String)`
      - `setShowCustomIconSelected(java.lang.Boolean)`

  - ### getCustomIconSelectedProperty

    public String getCustomIconSelectedProperty()
    This property allows the developer to rename the `default node.showSelectedIcon` property.
    Returns:
      Current customIconSelectedProperty value. Default value is "showSelectedIcon"
    See Also:
      - `getCustomIconProperty()`
      - `getShowCustomIconSelected()`

  - ### setDataArity

    public TreeGrid setDataArity(String dataArity)
    A TreeGrid is a `dataArity`:multiple component.

    Note : This is an advanced setting

    Overrides:
      `setDataArity` in class `ListGrid`
    Parameters:
      `dataArity` - New dataArity value. Default value is "multiple"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `DataBinding`

  - ### getDataArity

    public String getDataArity()
    A TreeGrid is a `dataArity`:multiple component.
    Overrides:
      `getDataArity` in class `ListGrid`
    Returns:
      Current dataArity value. Default value is "multiple"
    See Also:
      - `DataBinding`

  - ### setDataFetchMode

    public TreeGrid setDataFetchMode(FetchMode dataFetchMode) throws IllegalStateException
    Mode of fetching records from server.

    fetchMode:"local" implies that local filtering will always be performed. See `keepParentsOnFilter` for additional filtering details.

    fetchMode:"basic" or "paged" implies that if search criteria change, the entire tree will be discarded and re-fetched from the server. When retrieving the replacement tree data, the default behavior will be to preserve the `openState` for any nodes that the server returns which were previously opened by the user. Note that this implies that if `loadDataOnDemand` is enabled and the server returns only root-level nodes, open state will be preserved only for root-level nodes, and children of open root-level nodes will be immediately fetched from the server if they are not included in the server's initial response.

    fetchMode:"paged" enables paging for nodes that have very large numbers of children. Whenever the children of a folder are loaded, the `resultTree` will set `DSRequest.startRow` and `endRow` when requesting children from the DataSource, and will manage loading of further children on demand, similar to how a `ResultSet` manages paging for lists. For a deeper discussion see the Paging large sets of children section of the `TreeDataBinding` overview.

    Specified by:
      `setDataFetchMode` in interface `DataBoundComponent`
    Overrides:
      `setDataFetchMode` in class `ListGrid`
    Parameters:
      `dataFetchMode` - New dataFetchMode value. Default value is "basic"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `ResultTree.setLoadDataOnDemand(java.lang.Boolean)`
      - `ResultTree.setUseSimpleCriteriaLOD(boolean)`
      - `Tree DataBinding`
      - Paging for Children Example

  - ### getDataFetchMode

    public FetchMode getDataFetchMode()
    Mode of fetching records from server.

    fetchMode:"local" implies that local filtering will always be performed. See `keepParentsOnFilter` for additional filtering details.

    fetchMode:"basic" or "paged" implies that if search criteria change, the entire tree will be discarded and re-fetched from the server. When retrieving the replacement tree data, the default behavior will be to preserve the `openState` for any nodes that the server returns which were previously opened by the user. Note that this implies that if `loadDataOnDemand` is enabled and the server returns only root-level nodes, open state will be preserved only for root-level nodes, and children of open root-level nodes will be immediately fetched from the server if they are not included in the server's initial response.

    fetchMode:"paged" enables paging for nodes that have very large numbers of children. Whenever the children of a folder are loaded, the `resultTree` will set `DSRequest.startRow` and `endRow` when requesting children from the DataSource, and will manage loading of further children on demand, similar to how a `ResultSet` manages paging for lists. For a deeper discussion see the Paging large sets of children section of the `TreeDataBinding` overview.

    Specified by:
      `getDataFetchMode` in interface `DataBoundComponent`
    Overrides:
      `getDataFetchMode` in class `ListGrid`
    Returns:
      Current dataFetchMode value. Default value is "basic"
    See Also:
      - `ResultTree.getLoadDataOnDemand()`
      - `ResultTree.getUseSimpleCriteriaLOD()`
      - `Tree DataBinding`
      - Paging for Children Example

  - ### getDataProperties

    public Tree getDataProperties()
    For a `TreeGrid` that uses a DataSource, these properties will be passed to the automatically-created ResultTree. This can be used for various customizations such as modifying the automatically-chosen `Tree.parentIdField`.
    Returns:
      Current dataProperties value. Default value is null
    See Also:
      - `DataBinding`

  - ### setDisplayNodeType

    public TreeGrid setDisplayNodeType(DisplayNodeType displayNodeType)
    Specifies the type of nodes displayed in the treeGrid.
    Parameters:
      `displayNodeType` - New displayNodeType value. Default value is Tree.FOLDERS_AND_LEAVES
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `DisplayNodeType`

  - ### getDisplayNodeType

    public DisplayNodeType getDisplayNodeType()
    Specifies the type of nodes displayed in the treeGrid.
    Returns:
      Current displayNodeType value. Default value is Tree.FOLDERS_AND_LEAVES
    See Also:
      - `DisplayNodeType`

  - ### setDropEndSpace

    public TreeGrid setDropEndSpace(Integer dropEndSpace)
    If `showDropEndSpace` is set to true, this property governs how large the space under the last node during drop should be. If unset, the spacer will be sized to be half the specified `cellHeight` for the grid.

    Note : This is an advanced setting

    Parameters:
      `dropEndSpace` - New dropEndSpace value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getDropEndSpace

    public Integer getDropEndSpace()
    If `showDropEndSpace` is set to true, this property governs how large the space under the last node during drop should be. If unset, the spacer will be sized to be half the specified `cellHeight` for the grid.
    Returns:
      Current dropEndSpace value. Default value is null

  - ### setDropIconSuffix

    public TreeGrid setDropIconSuffix(String dropIconSuffix) throws IllegalStateException
    If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
    Parameters:
      `dropIconSuffix` - New dropIconSuffix value. Default value is "drop"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getDropIconSuffix

    public String getDropIconSuffix()
    If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
    Returns:
      Current dropIconSuffix value. Default value is "drop"

  - ### setExtraIconGap

    public TreeGrid setExtraIconGap(int extraIconGap) throws IllegalStateException
    The amount of gap (in pixels) between the extraIcon (see `getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
    Parameters:
      `extraIconGap` - New extraIconGap value. Default value is 2
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Appearance overview and related methods`

  - ### getExtraIconGap

    public int getExtraIconGap()
    The amount of gap (in pixels) between the extraIcon (see `getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
    Returns:
      Current extraIconGap value. Default value is 2
    See Also:
      - `Appearance overview and related methods`

  - ### setFields

    public TreeGrid setFields(TreeGridField... fields)
    An array of field objects, specifying the order, layout, dynamic calculation, and sorting behavior of each field in the treeGrid object. In TreeGrids, the fields array specifies columns. Each field in the fields array is TreeGridField object.

    If `dataSource` is also set, this value acts as a set of overrides as explained in `DataBoundComponent.fields`.

    Parameters:
      `fields` - New fields value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeGridField`
      - `DataBinding`

  - ### setFolderIcon

    public TreeGrid setFolderIcon(String folderIcon)
    The URL of the base icon for all folder nodes in this treeGrid. Note that this URL will have `openIconSuffix`, `closedIconSuffix` or `dropIconSuffix` appended to indicate state changes if appropriate - see documentation on `showOpenIcons`, `showSelectedIcons` and `showDropIcons`.

    See `showNodeIcons` and `showFolderIcons` for details on suppressing display of icons

    Parameters:
      `folderIcon` - New folderIcon value. Default value is "[SKIN]folder.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `SCImgURL`
      - Node Titles Example

  - ### getFolderIcon

    public String getFolderIcon()
    The URL of the base icon for all folder nodes in this treeGrid. Note that this URL will have `openIconSuffix`, `closedIconSuffix` or `dropIconSuffix` appended to indicate state changes if appropriate - see documentation on `showOpenIcons`, `showSelectedIcons` and `showDropIcons`.

    See `showNodeIcons` and `showFolderIcons` for details on suppressing display of icons

    Returns:
      Current folderIcon value. Default value is "[SKIN]folder.gif"
    See Also:
      - `SCImgURL`
      - Node Titles Example

  - ### setFolderIconPadding

    public TreeGrid setFolderIconPadding(Integer folderIconPadding) throws IllegalStateException
    Default padding to show between folder icon and cell value in the tree cell. This property is only consulted for folder nodes. If unset, `iconPadding` will be applied to both folder and leaf nodes.

    To set the icon padding for individual nodes, use `iconPaddingProperty`

    Parameters:
      `folderIconPadding` - New folderIconPadding value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getFolderIconPadding

    public Integer getFolderIconPadding()
    Default padding to show between folder icon and cell value in the tree cell. This property is only consulted for folder nodes. If unset, `iconPadding` will be applied to both folder and leaf nodes.

    To set the icon padding for individual nodes, use `iconPaddingProperty`

    Returns:
      Current folderIconPadding value. Default value is null

  - ### setGroupByField

    public TreeGrid setGroupByField(String groupByField) throws IllegalStateException
    Not applicable to TreeGrids, as the `data` already represents a tree.
    Overrides:
      `setGroupByField` in class `ListGrid`
    Parameters:
      `groupByField` - New groupByField value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `groupBy()`

  - ### getGroupByField

    public String getGroupByField()
    Not applicable to TreeGrids, as the `data` already represents a tree.
    Returns:
      Current groupByField value. Default value is null
    See Also:
      - `groupBy()`

  - ### setGroupByField

    public TreeGrid setGroupByField(String... groupByField) throws IllegalStateException
    Not applicable to TreeGrids, as the `data` already represents a tree.
    Overrides:
      `setGroupByField` in class `ListGrid`
    Parameters:
      `groupByField` - New groupByField value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `groupBy()`

  - ### getGroupByFieldAsStringArray

    public String[] getGroupByFieldAsStringArray()
    Not applicable to TreeGrids, as the `data` already represents a tree.
    Returns:
      Current groupByField value. Default value is null
    See Also:
      - `groupBy()`

  - ### setIconBaseStyle

    public TreeGrid setIconBaseStyle(String iconBaseStyle)
    The base CSS class to apply to icons used in this grid. Used to affect the colors of SVG graphics.
    Parameters:
      `iconBaseStyle` - New iconBaseStyle value. Default value is "icon"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `CSSStyleName`

  - ### getIconBaseStyle

    public String getIconBaseStyle()
    The base CSS class to apply to icons used in this grid. Used to affect the colors of SVG graphics.
    Returns:
      Current iconBaseStyle value. Default value is "icon"
    See Also:
      - `CSSStyleName`

  - ### setIconPadding

    public TreeGrid setIconPadding(Integer iconPadding) throws IllegalStateException
    Default padding to show between the folder or leaf node icon and cell value in the tree cell.

    May be overridden for `folderIcons` via `folderIconPadding`. May also be overridden for individual nodes by setting the `iconPaddingProperty` value on individual nodes

    Overrides:
      `setIconPadding` in class `ListGrid`
    Parameters:
      `iconPadding` - New iconPadding value. Default value is 2
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getIconPadding

    public Integer getIconPadding()
    Default padding to show between the folder or leaf node icon and cell value in the tree cell.

    May be overridden for `folderIcons` via `folderIconPadding`. May also be overridden for individual nodes by setting the `iconPaddingProperty` value on individual nodes

    Overrides:
      `getIconPadding` in class `ListGrid`
    Returns:
      Current iconPadding value. Default value is 2

  - ### setIconPaddingProperty

    public TreeGrid setIconPaddingProperty(String iconPaddingProperty) throws IllegalStateException
    This property allows the developer to specify custom `iconPadding` for specific nodes
    Parameters:
      `iconPaddingProperty` - New iconPaddingProperty value. Default value is "iconPadding"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getIconPaddingProperty

    public String getIconPaddingProperty()
    This property allows the developer to specify custom `iconPadding` for specific nodes
    Returns:
      Current iconPaddingProperty value. Default value is "iconPadding"

  - ### setIconSize

    public TreeGrid setIconSize(int iconSize)
    The standard size (same height and width, in pixels) of node icons in this treeGrid.
    Parameters:
      `iconSize` - New iconSize value. Default value is 16
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getIconSize

    public int getIconSize()
    The standard size (same height and width, in pixels) of node icons in this treeGrid.
    Returns:
      Current iconSize value. Default value is 16

  - ### setIndentRecordComponents

    public TreeGrid setIndentRecordComponents(Boolean indentRecordComponents)
    For record components placed "within" the `treeField` column, should the component be indented to the position where a title would normally show?

    For more general placement of embedded components, see `addEmbeddedComponent`.

    Parameters:
      `indentRecordComponents` - New indentRecordComponents value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getIndentRecordComponents

    public Boolean getIndentRecordComponents()
    For record components placed "within" the `treeField` column, should the component be indented to the position where a title would normally show?

    For more general placement of embedded components, see `addEmbeddedComponent`.

    Returns:
      Current indentRecordComponents value. Default value is true

  - ### setIndentSize

    public TreeGrid setIndentSize(int indentSize)
    The amount of indentation (in pixels) to add to a node's icon/title for each level down in this tree's hierarchy.

    This value is ignored when `showConnectors` is `true` because fixed-size images are used to render the connectors.

    Parameters:
      `indentSize` - New indentSize value. Default value is 20
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `Appearance overview and related methods`

  - ### getIndentSize

    public int getIndentSize()
    The amount of indentation (in pixels) to add to a node's icon/title for each level down in this tree's hierarchy.

    This value is ignored when `showConnectors` is `true` because fixed-size images are used to render the connectors.

    Returns:
      Current indentSize value. Default value is 20
    See Also:
      - `Appearance overview and related methods`

  - ### setKeepParentsOnFilter

    public TreeGrid setKeepParentsOnFilter(Boolean keepParentsOnFilter) throws IllegalStateException
    If set, tree-based filtering is performed such that parent nodes are kept as long as they have children that match the filter criteria, even if the parents themselves do not match the filter criteria. If not set, filtering will exclude parent nodes not matching the criteria, and all nodes below them in the tree.

    ResultTrees will default to `fetchMode:"local"` whenever `keepParentsOnFilter` is true, unless fetchMode was explicitly set to "paged" (see below). This allows the filtering logic to fetch a complete tree of nodes from the DataSource (or if loadDataOnDemand:true, a complete set of nodes under a given parent) and then filter the resulting data locally on the client.

    This means that the server does not need to implement special tree filtering logic to support looking up nodes that match the specified criteria as well as ancestor nodes that may not.

    If some criteria must be sent to the server in order to produce a valid tree of data, but `keepParentsOnFilter` is also required, the `ResultTree.serverFilterFields` attribute may be used to specify a list of field names that will be sent to the server whenever they are present in the criteria. Note that for the subset of criteria applied to these fields, `keepParentsInFilter` behavior will not occur without custom logic in the DataSource fetch operation.

    If `FetchMode` is explicitly set to `"paged"`, it is not possible to implement `keepParentsOnFilter`, either by local filtering or with the automatic client-driven handling mentioned below. Support for `keepParentsOnFilter` for a paged ResultTree therefore also requires custom logic in the DataSource fetch operation. To support this a developer must ensure that their fetch operation returns the appropriate set of nodes - all nodes that match the specified criteria plus their ancestor nodes even if they do not match the specified criteria.

    ### keepParentsOnFilter with load-on-demand trees

    The combination of `keepParentsOnFilter` and `loadDataOnDemand` presents additional difficulties that require special handling. The problem is that in order to determine even the top-level folders, you have to examine every node in the entire tree. For example, say there is one top-level folder that has thousands of folders and nodes underneath it, and there is just one leaf node, 6 levels deep, that matches the filter criteria. You have to find out about that node, because it implies the top-level folder must be retained.

    So the server basically has to examine every node in the dataset to determine even what shows up at the top level of the tree. If it does not do this, parent nodes that don't match the filter criteria will be excluded from the tree, with the upshot that the child nodes that do match the criteria will be inaccessible because nodes in load-on-demand trees are only loaded when their parent node is opened

    By default, Smart GWT solves this with a client-driven implementation of this special handling. This algorithm involves finding the nodes that match the filter criteria - which we term matching leaves - and then recursively travelling back up the tree, determining the ancestors of the matching leaves - the so-called dangling parents. When we have traversed all the way back to the root node from every matching leaf, we have recorded every dangling parent and have what we term the skeleton of the tree. The skeleton is then added to fetch criteria whenever a load-on-demand fetch request is made, ensuring that we fetch both dangling parents and matching leaves.

    There are three ways this recursive traversal can be implemented:

    - For dataSources that `support dynamic tree joins`, we use the `additionalOutputs` feature to declare self-joins that fetch multiple levels of parent in one query (the number of levels is configurable, see `ResultTree.matchingLeafJoinDepth`). Of Smart GWT's built-in DataSource types, only SQLDataSource is currently capable of this approach
    - For server-side dataSources that do not support self-joins, we combine individual single-level fetches into a `queue`, using `fieldValueExpressions` with `responseData "allRecords"` so that each fetch in the queue uses the output of the previous fetch as its criteria (so the first fetch returns the parents of the matching nodes, the second fetch returns the parents of those nodes, and so on). Again, the number of fetches per queue can be configured with the `matchingLeafJoinDepth` property. This approach works for any server-side DataSource implementation, including your own custom implementations
    - For `client-side` dataSources, which support neither self-joins not queueing, the algorithm simply makes as many single-level requests as necessary to build the entire skeleton. Note, this is exactly what would happen with previously-mentioned queueing approach, if you set `matchingLeafJoinDepth` to 1
    If you want to disable the automatic handling of `keepParentsOnFilter` on load-on-demand trees, see `ResultTree.serverKeepParentsOnFilter`
    Parameters:
      `keepParentsOnFilter` - New keepParentsOnFilter value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `ResultTree.setKeepParentsOnFilterMaxNodes(java.lang.Integer)`
      - `Tree DataBinding`

  - ### getKeepParentsOnFilter

    public Boolean getKeepParentsOnFilter()
    If set, tree-based filtering is performed such that parent nodes are kept as long as they have children that match the filter criteria, even if the parents themselves do not match the filter criteria. If not set, filtering will exclude parent nodes not matching the criteria, and all nodes below them in the tree.

    ResultTrees will default to `fetchMode:"local"` whenever `keepParentsOnFilter` is true, unless fetchMode was explicitly set to "paged" (see below). This allows the filtering logic to fetch a complete tree of nodes from the DataSource (or if loadDataOnDemand:true, a complete set of nodes under a given parent) and then filter the resulting data locally on the client.

    This means that the server does not need to implement special tree filtering logic to support looking up nodes that match the specified criteria as well as ancestor nodes that may not.

    If some criteria must be sent to the server in order to produce a valid tree of data, but `keepParentsOnFilter` is also required, the `ResultTree.serverFilterFields` attribute may be used to specify a list of field names that will be sent to the server whenever they are present in the criteria. Note that for the subset of criteria applied to these fields, `keepParentsInFilter` behavior will not occur without custom logic in the DataSource fetch operation.

    If `FetchMode` is explicitly set to `"paged"`, it is not possible to implement `keepParentsOnFilter`, either by local filtering or with the automatic client-driven handling mentioned below. Support for `keepParentsOnFilter` for a paged ResultTree therefore also requires custom logic in the DataSource fetch operation. To support this a developer must ensure that their fetch operation returns the appropriate set of nodes - all nodes that match the specified criteria plus their ancestor nodes even if they do not match the specified criteria.

    ### keepParentsOnFilter with load-on-demand trees

    The combination of `keepParentsOnFilter` and `loadDataOnDemand` presents additional difficulties that require special handling. The problem is that in order to determine even the top-level folders, you have to examine every node in the entire tree. For example, say there is one top-level folder that has thousands of folders and nodes underneath it, and there is just one leaf node, 6 levels deep, that matches the filter criteria. You have to find out about that node, because it implies the top-level folder must be retained.

    So the server basically has to examine every node in the dataset to determine even what shows up at the top level of the tree. If it does not do this, parent nodes that don't match the filter criteria will be excluded from the tree, with the upshot that the child nodes that do match the criteria will be inaccessible because nodes in load-on-demand trees are only loaded when their parent node is opened

    By default, Smart GWT solves this with a client-driven implementation of this special handling. This algorithm involves finding the nodes that match the filter criteria - which we term matching leaves - and then recursively travelling back up the tree, determining the ancestors of the matching leaves - the so-called dangling parents. When we have traversed all the way back to the root node from every matching leaf, we have recorded every dangling parent and have what we term the skeleton of the tree. The skeleton is then added to fetch criteria whenever a load-on-demand fetch request is made, ensuring that we fetch both dangling parents and matching leaves.

    There are three ways this recursive traversal can be implemented:

    - For dataSources that `support dynamic tree joins`, we use the `additionalOutputs` feature to declare self-joins that fetch multiple levels of parent in one query (the number of levels is configurable, see `ResultTree.matchingLeafJoinDepth`). Of Smart GWT's built-in DataSource types, only SQLDataSource is currently capable of this approach
    - For server-side dataSources that do not support self-joins, we combine individual single-level fetches into a `queue`, using `fieldValueExpressions` with `responseData "allRecords"` so that each fetch in the queue uses the output of the previous fetch as its criteria (so the first fetch returns the parents of the matching nodes, the second fetch returns the parents of those nodes, and so on). Again, the number of fetches per queue can be configured with the `matchingLeafJoinDepth` property. This approach works for any server-side DataSource implementation, including your own custom implementations
    - For `client-side` dataSources, which support neither self-joins not queueing, the algorithm simply makes as many single-level requests as necessary to build the entire skeleton. Note, this is exactly what would happen with previously-mentioned queueing approach, if you set `matchingLeafJoinDepth` to 1
    If you want to disable the automatic handling of `keepParentsOnFilter` on load-on-demand trees, see `ResultTree.serverKeepParentsOnFilter`
    Returns:
      Current keepParentsOnFilter value. Default value is null
    See Also:
      - `ResultTree.getKeepParentsOnFilterMaxNodes()`
      - `Tree DataBinding`

  - ### setLeaveSelectionCheckboxGap

    public TreeGrid setLeaveSelectionCheckboxGap(Boolean leaveSelectionCheckboxGap) throws IllegalStateException
    If `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected, should a gap be left where the checkbox icon would normally appear, in order to make the node's icon and title line up with the content for other nodes in the same parent?

    Has no effect if `showDisabledSelectionCheckbox` is `true`

    Parameters:
      `leaveSelectionCheckboxGap` - New leaveSelectionCheckboxGap value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `ListGrid.setRecordCanSelectProperty(java.lang.String)`

  - ### getLeaveSelectionCheckboxGap

    public Boolean getLeaveSelectionCheckboxGap()
    If `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected, should a gap be left where the checkbox icon would normally appear, in order to make the node's icon and title line up with the content for other nodes in the same parent?

    Has no effect if `showDisabledSelectionCheckbox` is `true`

    Returns:
      Current leaveSelectionCheckboxGap value. Default value is true
    See Also:
      - `ListGrid.getRecordCanSelectProperty()`

  - ### setLoadDataOnDemand

    public TreeGrid setLoadDataOnDemand(Boolean loadDataOnDemand)
    For databound treeGrid instances, should the entire tree of data be loaded on initial fetch, or should folders load their children as they are opened.

    If unset, calling `fetchData()` will default it to true, otherwise, if a ResultTree is passed to `setData()`, the `ResultTree.loadDataOnDemand` setting is respected. Must be enabled on the underlying `ResultTree` when using `dataFetchMode`: "paged".

    Note that when using `loadDataOnDemand`, every node returned by the server is assumed be a folder which may load further children. See `ResultTree.defaultIsFolder` for how to control this behavior.

    Parameters:
      `loadDataOnDemand` - New loadDataOnDemand value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `setDataFetchMode(com.smartgwt.client.types.FetchMode)`
      - `DataBinding`
      - Initial Data & Load on Demand Example

  - ### getLoadDataOnDemand

    public Boolean getLoadDataOnDemand()
    For databound treeGrid instances, should the entire tree of data be loaded on initial fetch, or should folders load their children as they are opened.

    If unset, calling `fetchData()` will default it to true, otherwise, if a ResultTree is passed to `setData()`, the `ResultTree.loadDataOnDemand` setting is respected. Must be enabled on the underlying `ResultTree` when using `dataFetchMode`: "paged".

    Note that when using `loadDataOnDemand`, every node returned by the server is assumed be a folder which may load further children. See `ResultTree.defaultIsFolder` for how to control this behavior.

    Returns:
      Current loadDataOnDemand value. Default value is null
    See Also:
      - `getDataFetchMode()`
      - `DataBinding`
      - Initial Data & Load on Demand Example

  - ### setLoadingIcon

    public TreeGrid setLoadingIcon(String loadingIcon)
    If `showLoadingIcons` is set, this icon will be used when the folder is `loading children from the server`.
    Parameters:
      `loadingIcon` - New loadingIcon value. Default value is "[SKIN]folder_loading.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `SCImgURL`

  - ### getLoadingIcon

    public String getLoadingIcon()
    If `showLoadingIcons` is set, this icon will be used when the folder is `loading children from the server`.
    Returns:
      Current loadingIcon value. Default value is "[SKIN]folder_loading.gif"
    See Also:
      - `SCImgURL`

  - ### setManyItemsImage

    public TreeGrid setManyItemsImage(String manyItemsImage)
    The filename of the icon displayed use as the default drag tracker when for multiple files and/or folders are being dragged.
    Parameters:
      `manyItemsImage` - New manyItemsImage value. Default value is "[SKIN]folder_file.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `SCImgURL`
      - `Drag and Drop`

  - ### getManyItemsImage

    public String getManyItemsImage()
    The filename of the icon displayed use as the default drag tracker when for multiple files and/or folders are being dragged.
    Returns:
      Current manyItemsImage value. Default value is "[SKIN]folder_file.gif"
    See Also:
      - `SCImgURL`
      - `Drag and Drop`

  - ### setNodeIcon

    public TreeGrid setNodeIcon(String nodeIcon)
    The filename of the default icon for all leaf nodes in this grid. To specify a custom image for an individual node, set the `customIconProperty` directly on the node.

    See `showNodeIcons` and `showFolderIcons` for details on suppressing display of icons
    If this method is called after the component has been drawn/initialized: Set the icon for a particular treenode to a specified URL

    Parameters:
      `nodeIcon` - tree node. Default value is "[SKIN]file.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `SCImgURL`
      - Node Titles Example

  - ### getNodeIcon

    public String getNodeIcon()
    The filename of the default icon for all leaf nodes in this grid. To specify a custom image for an individual node, set the `customIconProperty` directly on the node.

    See `showNodeIcons` and `showFolderIcons` for details on suppressing display of icons

    Returns:
      Current nodeIcon value. Default value is "[SKIN]file.gif"
    See Also:
      - `SCImgURL`
      - Node Titles Example

  - ### setOfflineNodeMessage

    public TreeGrid setOfflineNodeMessage(String offlineNodeMessage)
    For TreeGrids with loadDataOnDemand: true, a message to show the user if an attempt is made to open a folder, and thus load that node's children, while we are offline and there is no offline cache of that data. The message will be presented to the user in in a pop-up dialog box.
    Parameters:
      `offlineNodeMessage` - New offlineNodeMessage value. Default value is "This data not available while offline"
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getOfflineNodeMessage

    public String getOfflineNodeMessage()
    For TreeGrids with loadDataOnDemand: true, a message to show the user if an attempt is made to open a folder, and thus load that node's children, while we are offline and there is no offline cache of that data. The message will be presented to the user in in a pop-up dialog box.
    Returns:
      Current offlineNodeMessage value. Default value is "This data not available while offline"

  - ### setOpenerIconHeight

    public TreeGrid setOpenerIconHeight(Integer openerIconHeight)
    Height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.

    If not specified, `openerIconSize` is used instead.

    Parameters:
      `openerIconHeight` - New openerIconHeight value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getOpenerIconHeight

    public Integer getOpenerIconHeight()
    Height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.

    If not specified, `openerIconSize` is used instead.

    Returns:
      Current openerIconHeight value. Default value is null

  - ### setOpenerIconSize

    public TreeGrid setOpenerIconSize(Integer openerIconSize)
    Default width and height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol, if not overridden by `openerIconWidth`/`openerIconHeight`.

    If `showConnectors` is true, the opener icon includes the connector line, and defaults to `cellHeight`.

    Otherwise, `openerIconSize` defaults to `iconSize`.

    Parameters:
      `openerIconSize` - New openerIconSize value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getOpenerIconSize

    public Integer getOpenerIconSize()
    Default width and height in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol, if not overridden by `openerIconWidth`/`openerIconHeight`.

    If `showConnectors` is true, the opener icon includes the connector line, and defaults to `cellHeight`.

    Otherwise, `openerIconSize` defaults to `iconSize`.

    Returns:
      Current openerIconSize value. Default value is null

  - ### setOpenerIconWidth

    public TreeGrid setOpenerIconWidth(Integer openerIconWidth)
    Width in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.

    If not specified, `openerIconSize` is used instead.

    Parameters:
      `openerIconWidth` - New openerIconWidth value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getOpenerIconWidth

    public Integer getOpenerIconWidth()
    Width in pixels of the opener icons, that is, the icons which show the open or closed state of the node, typically a [+] or [-] symbol.

    If not specified, `openerIconSize` is used instead.

    Returns:
      Current openerIconWidth value. Default value is null

  - ### setOpenerImage

    public TreeGrid setOpenerImage(String openerImage) throws IllegalStateException
    The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid. The opener icon is displayed beside the folder icon in the Tree column for folder nodes. Clicking on this icon will toggle the open state of the folder.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node, as follows: If the openerImage is set to `{baseName}.{extension}`, `{baseName}_opened.{extension}` will be displayed next to opened folders, and `{baseName}_closed.{extension}` will be displayed next to closed folders, or if this page is in RTL mode, `{baseName}_opened_rtl.{extension}` and `{baseName}_closed_rtl.{extension}` will be used.

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for an openerImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_opened_selected.{extension}`, `{baseName}_closed_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states: opened, closed, opened_selected and closed_selected (RTL styles are also available, see above). These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    The following code shows using `SVG Symbols` from a sprite-file:

           openerImage: {
               // _base state is required, although will not be displayed in this case
               _base: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               // closed and closed_selected states - make the selected icon blue
               closed: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               closed_selected: "sprite:svg:fileName.svg#arrowRight;size:12,12;color:blue;",
               // opened and opened_selected states - make the selected icon blue
               opened: "sprite:svg:fileName.svg#arrowDown;size:12,12;",
               opened_selected: "sprite:svg:fileName.svg#arrowDown;size:12,12;color:blue;"
           }

    Parameters:
      `openerImage` - New openerImage value. Default value is "[SKIN]opener.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `SCImgURL`

  - ### getOpenerImage

    public String getOpenerImage()
    The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid. The opener icon is displayed beside the folder icon in the Tree column for folder nodes. Clicking on this icon will toggle the open state of the folder.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node, as follows: If the openerImage is set to `{baseName}.{extension}`, `{baseName}_opened.{extension}` will be displayed next to opened folders, and `{baseName}_closed.{extension}` will be displayed next to closed folders, or if this page is in RTL mode, `{baseName}_opened_rtl.{extension}` and `{baseName}_closed_rtl.{extension}` will be used.

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for an openerImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_opened_selected.{extension}`, `{baseName}_closed_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states: opened, closed, opened_selected and closed_selected (RTL styles are also available, see above). These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    The following code shows using `SVG Symbols` from a sprite-file:

           openerImage: {
               // _base state is required, although will not be displayed in this case
               _base: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               // closed and closed_selected states - make the selected icon blue
               closed: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               closed_selected: "sprite:svg:fileName.svg#arrowRight;size:12,12;color:blue;",
               // opened and opened_selected states - make the selected icon blue
               opened: "sprite:svg:fileName.svg#arrowDown;size:12,12;",
               opened_selected: "sprite:svg:fileName.svg#arrowDown;size:12,12;color:blue;"
           }

    Returns:
      Current openerImage value. Default value is "[SKIN]opener.gif"
    See Also:
      - `SCImgURL`

  - ### setOpenerImage

    public TreeGrid setOpenerImage(SCStatefulImgConfig openerImage) throws IllegalStateException
    The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid. The opener icon is displayed beside the folder icon in the Tree column for folder nodes. Clicking on this icon will toggle the open state of the folder.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node, as follows: If the openerImage is set to `{baseName}.{extension}`, `{baseName}_opened.{extension}` will be displayed next to opened folders, and `{baseName}_closed.{extension}` will be displayed next to closed folders, or if this page is in RTL mode, `{baseName}_opened_rtl.{extension}` and `{baseName}_closed_rtl.{extension}` will be used.

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for an openerImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_opened_selected.{extension}`, `{baseName}_closed_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states: opened, closed, opened_selected and closed_selected (RTL styles are also available, see above). These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    The following code shows using `SVG Symbols` from a sprite-file:

           openerImage: {
               // _base state is required, although will not be displayed in this case
               _base: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               // closed and closed_selected states - make the selected icon blue
               closed: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               closed_selected: "sprite:svg:fileName.svg#arrowRight;size:12,12;color:blue;",
               // opened and opened_selected states - make the selected icon blue
               opened: "sprite:svg:fileName.svg#arrowDown;size:12,12;",
               opened_selected: "sprite:svg:fileName.svg#arrowDown;size:12,12;color:blue;"
           }

    Parameters:
      `openerImage` - New openerImage value. Default value is "[SKIN]opener.gif"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `SCImgURL`

  - ### getOpenerImageAsSCStatefulImgConfig

    public SCStatefulImgConfig getOpenerImageAsSCStatefulImgConfig()
    The base filename or `stateful image block` for the opener icon for folder nodes when "showConnectors" is false for this TreeGrid. The opener icon is displayed beside the folder icon in the Tree column for folder nodes. Clicking on this icon will toggle the open state of the folder.

    When set to an `SCImgURL`: the stateful filenames for these icons are assembled from this base filename and the state of the node, as follows: If the openerImage is set to `{baseName}.{extension}`, `{baseName}_opened.{extension}` will be displayed next to opened folders, and `{baseName}_closed.{extension}` will be displayed next to closed folders, or if this page is in RTL mode, `{baseName}_opened_rtl.{extension}` and `{baseName}_closed_rtl.{extension}` will be used.

    If `showSelectedOpener` is true the URL for selected nodes will append the string `"_selected"` to the image URLs described above. So for an openerImage set to `{baseName}.{extension}`, the URLs for selected records would be `{baseName}_opened_selected.{extension}`, `{baseName}_closed_selected.{extension}`, etc.

    When set to an SCStatefulImgConfig</>: it should contain entries for the default _base state, as well as the custom states: opened, closed, opened_selected and closed_selected (RTL styles are also available, see above). These entries may be set to any combination of supported src strings, including file-paths and sprite-strings.

    The following code shows using `SVG Symbols` from a sprite-file:

           openerImage: {
               // _base state is required, although will not be displayed in this case
               _base: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               // closed and closed_selected states - make the selected icon blue
               closed: "sprite:svg:fileName.svg#arrowRight;size:12,12;",
               closed_selected: "sprite:svg:fileName.svg#arrowRight;size:12,12;color:blue;",
               // opened and opened_selected states - make the selected icon blue
               opened: "sprite:svg:fileName.svg#arrowDown;size:12,12;",
               opened_selected: "sprite:svg:fileName.svg#arrowDown;size:12,12;color:blue;"
           }

    Returns:
      Current openerImage value. Default value is "[SKIN]opener.gif"
    See Also:
      - `SCImgURL`

  - ### setOpenIconPadding

    public TreeGrid setOpenIconPadding(Integer openIconPadding) throws IllegalStateException
    Default padding to show between the `openIcon` and the extra or folder icon in the tree cell.
    Parameters:
      `openIconPadding` - New openIconPadding value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getOpenIconPadding

    public Integer getOpenIconPadding()
    Default padding to show between the `openIcon` and the extra or folder icon in the tree cell.
    Returns:
      Current openIconPadding value. Default value is null

  - ### setOpenIconSuffix

    public TreeGrid setOpenIconSuffix(String openIconSuffix) throws IllegalStateException
    If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
    Parameters:
      `openIconSuffix` - New openIconSuffix value. Default value is "open"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getOpenIconSuffix

    public String getOpenIconSuffix()
    If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
    Returns:
      Current openIconSuffix value. Default value is "open"

  - ### setParentAlreadyContainsChildMessage

    public TreeGrid setParentAlreadyContainsChildMessage(String parentAlreadyContainsChildMessage) throws IllegalStateException
    Message displayed when user attempts to drag a node into a parent that already contains a child of the same name/ID.
    Parameters:
      `parentAlreadyContainsChildMessage` - New parentAlreadyContainsChildMessage value. Default value is "This item already contains a child item with that name."
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setCanDragRecordsOut(java.lang.Boolean)`
      - `setCanAcceptDroppedRecords(java.lang.Boolean)`
      - `setCanReorderRecords(java.lang.Boolean)`
      - `setCantDragMultipleNodeOccurencesMessage(java.lang.String)`

  - ### getParentAlreadyContainsChildMessage

    public String getParentAlreadyContainsChildMessage()
    Message displayed when user attempts to drag a node into a parent that already contains a child of the same name/ID.
    Returns:
      Current parentAlreadyContainsChildMessage value. Default value is "This item already contains a child item with that name."
    See Also:
      - `getCanDragRecordsOut()`
      - `getCanAcceptDroppedRecords()`
      - `getCanReorderRecords()`
      - `getCantDragMultipleNodeOccurencesMessage()`

  - ### setRecordDropAppearance

    public TreeGrid setRecordDropAppearance(RecordDropAppearance recordDropAppearance)
    If `canAcceptDroppedRecords` is true for this treeGrid, this property governs whether the user can drop between, or over records within the grid. This controls what `RecordDropPosition` is passed to the `recordDrop()` event handler.
    Overrides:
      `setRecordDropAppearance` in class `ListGrid`
    Parameters:
      `recordDropAppearance` - New recordDropAppearance value. Default value is ListGrid.BOTH
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getRecordDropAppearance

    public RecordDropAppearance getRecordDropAppearance()
    If `canAcceptDroppedRecords` is true for this treeGrid, this property governs whether the user can drop between, or over records within the grid. This controls what `RecordDropPosition` is passed to the `recordDrop()` event handler.
    Overrides:
      `getRecordDropAppearance` in class `ListGrid`
    Returns:
      Current recordDropAppearance value. Default value is ListGrid.BOTH

  - ### setSaveOpenStateInViewState

    public TreeGrid setSaveOpenStateInViewState(Boolean saveOpenStateInViewState)
    Should the current `open state` of the tree be included along with other details when saving this grid's `view-state`?
    Parameters:
      `saveOpenStateInViewState` - New saveOpenStateInViewState value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getSaveOpenStateInViewState

    public Boolean getSaveOpenStateInViewState()
    Should the current `open state` of the tree be included along with other details when saving this grid's `view-state`?
    Returns:
      Current saveOpenStateInViewState value. Default value is true

  - ### setSelectedIconSuffix

    public TreeGrid setSelectedIconSuffix(String selectedIconSuffix) throws IllegalStateException
    If `showSelectedIcons` is true, this suffix will be appended to the `folderIcon` for selected nodes in this grid.
    Parameters:
      `selectedIconSuffix` - New selectedIconSuffix value. Default value is "selected"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getSelectedIconSuffix

    public String getSelectedIconSuffix()
    If `showSelectedIcons` is true, this suffix will be appended to the `folderIcon` for selected nodes in this grid.
    Returns:
      Current selectedIconSuffix value. Default value is "selected"

  - ### setSelectionProperty

    public TreeGrid setSelectionProperty(String selectionProperty) throws IllegalStateException
    If specified, the selection object for this list will use this property to mark records as selected. In other words, if this attribute were set to `"isSelected"` any records in the listGrid data where `"isSelected"` is `true` will show up as selected in the grid. Similarly if records are selected within the grid after the grid has been created, this property will be set to true on the selected records.

    Note : This is an advanced setting

    Overrides:
      `setSelectionProperty` in class `ListGrid`
    Parameters:
      `selectionProperty` - New selectionProperty value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Appearance overview and related methods`

  - ### getSelectionProperty

    public String getSelectionProperty()
    If specified, the selection object for this list will use this property to mark records as selected. In other words, if this attribute were set to `"isSelected"` any records in the listGrid data where `"isSelected"` is `true` will show up as selected in the grid. Similarly if records are selected within the grid after the grid has been created, this property will be set to true on the selected records.
    Overrides:
      `getSelectionProperty` in class `ListGrid`
    Returns:
      Current selectionProperty value. Default value is null
    See Also:
      - `Appearance overview and related methods`

  - ### setSeparateFolders

    public TreeGrid setSeparateFolders(Boolean separateFolders) throws IllegalStateException
    If specified, this attribute will override `Tree.separateFolders` on the data for this treeGrid.

    Specifies whether folders and leaves should be segregated in the treeGrid display. Use `Tree.sortFoldersBeforeLeaves` to customize whether folders appear before or after their sibling leaves.

    If unset, at the treeGrid level, the property can be set directly on `the tree data object` or for dataBound TreeGrids on the `dataProperties`.

    Parameters:
      `separateFolders` - New separateFolders value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getSeparateFolders

    public Boolean getSeparateFolders()
    If specified, this attribute will override `Tree.separateFolders` on the data for this treeGrid.

    Specifies whether folders and leaves should be segregated in the treeGrid display. Use `Tree.sortFoldersBeforeLeaves` to customize whether folders appear before or after their sibling leaves.

    If unset, at the treeGrid level, the property can be set directly on `the tree data object` or for dataBound TreeGrids on the `dataProperties`.

    Returns:
      Current separateFolders value. Default value is null

  - ### setServerFilterFields

    public TreeGrid setServerFilterFields(String... serverFilterFields) throws IllegalStateException
    For `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.

    This property may be used to ensure a dataSource receives the necessary criteria to populate a ResultTree's data, and also support `keepParentsOnFilter`.

    Note that for some AdvancedCriteria it will not be possible to extract the subcriteria that apply to certain fields. See `DataSource.splitCriteria()` for details on how serverFilterFields-applicable subcriteria are extracted from the specified criteria for the tree.

    Parameters:
      `serverFilterFields` - New serverFilterFields value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getServerFilterFields

    public String[] getServerFilterFields()
    For `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.

    This property may be used to ensure a dataSource receives the necessary criteria to populate a ResultTree's data, and also support `keepParentsOnFilter`.

    Note that for some AdvancedCriteria it will not be possible to extract the subcriteria that apply to certain fields. See `DataSource.splitCriteria()` for details on how serverFilterFields-applicable subcriteria are extracted from the specified criteria for the tree.

    Returns:
      Current serverFilterFields value. Default value is null

  - ### setShowConnectors

    public TreeGrid setShowConnectors(Boolean showConnectors)
    Should this treeGrid show connector lines illustrating the tree's hierarchy?

    For the set of images used to show connectors, see `connectorImage`.

    Note: in order for connector images to be perfectly connected, all styles for cells must have no top or bottom border or padding. If you see small gaps in connector lines, check your CSS files. See the example below for an example of correct configuration, including example CSS.

    Parameters:
      `showConnectors` - New showConnectors value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - Connectors Example

  - ### getShowConnectors

    public Boolean getShowConnectors()
    Should this treeGrid show connector lines illustrating the tree's hierarchy?

    For the set of images used to show connectors, see `connectorImage`.

    Note: in order for connector images to be perfectly connected, all styles for cells must have no top or bottom border or padding. If you see small gaps in connector lines, check your CSS files. See the example below for an example of correct configuration, including example CSS.

    Returns:
      Current showConnectors value. Default value is false
    See Also:
      - Connectors Example

  - ### setShowCustomIconDrop

    public TreeGrid setShowCustomIconDrop(Boolean showCustomIconDrop)
    Should folder nodes showing custom icons (set via the `customIconProperty`, default `TreeNode.icon`), show drop state images when the user is drop-hovering over the folder. If true, the `dropIconSuffix` will be appended to the image URL (so `"customFolder.gif"` might be replaced with `"customFolder_drop.gif"`).
    Can be overridden at the node level via the default property `TreeNode.showDropIcon` and that property can be renamed via `customIconDropProperty`.

    Note : This is an advanced setting

    Parameters:
      `showCustomIconDrop` - New showCustomIconDrop value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowCustomIconDrop

    public Boolean getShowCustomIconDrop()
    Should folder nodes showing custom icons (set via the `customIconProperty`, default `TreeNode.icon`), show drop state images when the user is drop-hovering over the folder. If true, the `dropIconSuffix` will be appended to the image URL (so `"customFolder.gif"` might be replaced with `"customFolder_drop.gif"`).
    Can be overridden at the node level via the default property `TreeNode.showDropIcon` and that property can be renamed via `customIconDropProperty`.
    Returns:
      Current showCustomIconDrop value. Default value is false

  - ### setShowCustomIconOpen

    public TreeGrid setShowCustomIconOpen(Boolean showCustomIconOpen)
    Should folder nodes showing custom icons (set via the `customIconProperty`), show open state images when the folder is opened. If true, the `openIconSuffix` will be appended to the image URL (so `"customFolder.gif"` might be replaced with `"customFolder_open.gif"`).
    Note that the `closedIconSuffix` is never appended to custom folder icons.
    Can be overridden at the node level via the default property `TreeNode.showOpenIcon` and that property can be renamed via `customIconOpenProperty`.

    Note : This is an advanced setting

    Parameters:
      `showCustomIconOpen` - New showCustomIconOpen value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowCustomIconOpen

    public Boolean getShowCustomIconOpen()
    Should folder nodes showing custom icons (set via the `customIconProperty`), show open state images when the folder is opened. If true, the `openIconSuffix` will be appended to the image URL (so `"customFolder.gif"` might be replaced with `"customFolder_open.gif"`).
    Note that the `closedIconSuffix` is never appended to custom folder icons.
    Can be overridden at the node level via the default property `TreeNode.showOpenIcon` and that property can be renamed via `customIconOpenProperty`.
    Returns:
      Current showCustomIconOpen value. Default value is false

  - ### setShowCustomIconSelected

    public TreeGrid setShowCustomIconSelected(Boolean showCustomIconSelected)
    Should folder nodes showing custom icons (set via the `customIconProperty`), show selected state images when the folder is selected, if `showSelectedIcons` is true?

    If true, the `selectedIconSuffix` will be appended to the image URL (so `"customFolder.gif"` might be replaced with `"customFolder_selected.gif"`).
    Can be overridden at the node level via the default property `TreeNode.showSelectedIcon` and that property can be renamed via `customIconSelectedProperty`.

    Note : This is an advanced setting

    Parameters:
      `showCustomIconSelected` - New showCustomIconSelected value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowCustomIconSelected

    public Boolean getShowCustomIconSelected()
    Should folder nodes showing custom icons (set via the `customIconProperty`), show selected state images when the folder is selected, if `showSelectedIcons` is true?

    If true, the `selectedIconSuffix` will be appended to the image URL (so `"customFolder.gif"` might be replaced with `"customFolder_selected.gif"`).
    Can be overridden at the node level via the default property `TreeNode.showSelectedIcon` and that property can be renamed via `customIconSelectedProperty`.

    Returns:
      Current showCustomIconSelected value. Default value is false

  - ### setShowDisabledSelectionCheckbox

    public TreeGrid setShowDisabledSelectionCheckbox(Boolean showDisabledSelectionCheckbox) throws IllegalStateException
    Should tree nodes show a disabled checkbox `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected?

    If set to `false` the treeGrid will use `leaveSelectionCheckboxGap` to determine whether to leave a blank space where the checkbox would normally appear.

    Parameters:
      `showDisabledSelectionCheckbox` - New showDisabledSelectionCheckbox value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `ListGrid.setRecordCanSelectProperty(java.lang.String)`

  - ### getShowDisabledSelectionCheckbox

    public Boolean getShowDisabledSelectionCheckbox()
    Should tree nodes show a disabled checkbox `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected?

    If set to `false` the treeGrid will use `leaveSelectionCheckboxGap` to determine whether to leave a blank space where the checkbox would normally appear.

    Returns:
      Current showDisabledSelectionCheckbox value. Default value is false
    See Also:
      - `ListGrid.getRecordCanSelectProperty()`

  - ### setShowDropEndSpace

    public TreeGrid setShowDropEndSpace(boolean showDropEndSpace)
    When the user drags over the treeGrid body, should the grid show some space under the last node in the grid allowing the user to drop after the last node? The height of this space can be customized via `dropEndSpace`

    See also `canDropInEmptyArea` and `canDropSiblingAfterLastNode`

    Note : This is an advanced setting

    Parameters:
      `showDropEndSpace` - New showDropEndSpace value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `TreeGrid drag and drop`

  - ### getShowDropEndSpace

    public boolean getShowDropEndSpace()
    When the user drags over the treeGrid body, should the grid show some space under the last node in the grid allowing the user to drop after the last node? The height of this space can be customized via `dropEndSpace`

    See also `canDropInEmptyArea` and `canDropSiblingAfterLastNode`

    Returns:
      Current showDropEndSpace value. Default value is true
    See Also:
      - `TreeGrid drag and drop`

  - ### setShowDropIcons

    public TreeGrid setShowDropIcons(Boolean showDropIcons)
    If true, when the user drags a droppable target over a folder in this TreeGrid, show a different folder icon. This is achieved by appending the `dropIconSuffix` onto the `folderIcon` URL (for example `"[SKIN]/folder.gif"` may be replaced by `"[SKIN]/folder_drop.gif"`).
    Parameters:
      `showDropIcons` - New showDropIcons value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - Node Titles Example

  - ### getShowDropIcons

    public Boolean getShowDropIcons()
    If true, when the user drags a droppable target over a folder in this TreeGrid, show a different folder icon. This is achieved by appending the `dropIconSuffix` onto the `folderIcon` URL (for example `"[SKIN]/folder.gif"` may be replaced by `"[SKIN]/folder_drop.gif"`).
    Returns:
      Current showDropIcons value. Default value is true
    See Also:
      - Node Titles Example

  - ### setShowFolderIcons

    public TreeGrid setShowFolderIcons(Boolean showFolderIcons)
    Should folder nodes in this TreeGrid show icons by default?

    If unset, folder node icons will be shown if `showNodeIcons` is true

    See `getIcon()` for more details on treeGrid icons

    Parameters:
      `showFolderIcons` - New showFolderIcons value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowFolderIcons

    public Boolean getShowFolderIcons()
    Should folder nodes in this TreeGrid show icons by default?

    If unset, folder node icons will be shown if `showNodeIcons` is true

    See `getIcon()` for more details on treeGrid icons

    Returns:
      Current showFolderIcons value. Default value is null

  - ### setShowFullConnectors

    public TreeGrid setShowFullConnectors(Boolean showFullConnectors)
    If `showConnectors` is true, this property determines whether we should show vertical continuation lines for each level of indenting within the tree. Setting to false will show only the hierarchy lines for the most indented path ("sparse" connectors).
    Parameters:
      `showFullConnectors` - New showFullConnectors value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowFullConnectors

    public Boolean getShowFullConnectors()
    If `showConnectors` is true, this property determines whether we should show vertical continuation lines for each level of indenting within the tree. Setting to false will show only the hierarchy lines for the most indented path ("sparse" connectors).
    Returns:
      Current showFullConnectors value. Default value is true

  - ### setShowLoadingIcons

    public TreeGrid setShowLoadingIcons(boolean showLoadingIcons) throws IllegalStateException
    If set, when a folder is loading its children from the server (`Tree.getLoadState()` returns "loading"), it uses a distinct icon image given by `loadingIcon`. This is typically used to show a small animating "spinner" icon to let the user know data is being fetched.
    Parameters:
      `showLoadingIcons` - New showLoadingIcons value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getShowLoadingIcons

    public boolean getShowLoadingIcons()
    If set, when a folder is loading its children from the server (`Tree.getLoadState()` returns "loading"), it uses a distinct icon image given by `loadingIcon`. This is typically used to show a small animating "spinner" icon to let the user know data is being fetched.
    Returns:
      Current showLoadingIcons value. Default value is true

  - ### setShowNodeIcons

    public TreeGrid setShowNodeIcons(Boolean showNodeIcons)
    Should nodes in this TreeGrid show folder / leaf node icons by default?

    May be overridden for folder nodes via `showFolderIcons`

    See `getIcon()` for more details on treeGrid icons

    Parameters:
      `showNodeIcons` - New showNodeIcons value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowNodeIcons

    public Boolean getShowNodeIcons()
    Should nodes in this TreeGrid show folder / leaf node icons by default?

    May be overridden for folder nodes via `showFolderIcons`

    See `getIcon()` for more details on treeGrid icons

    Returns:
      Current showNodeIcons value. Default value is true

  - ### setShowOpener

    public TreeGrid setShowOpener(Boolean showOpener)
    Should the opener icon be displayed next to folder nodes? This is an icon which visually indicates whether the folder is opened or closed (typically via a [+] or [-] image, or a turn-down arrow) and may be clicked to expand or collapse the folder.

    For folders with no children, this icon is not shown unless `alwaysShowOpener` is `true`. Note that for trees which `load data on demand`, we may not know if a folder has any descendants if it has never been opened. As such we will show the opener icon next to the folder. Once the user opens the icon and a fetch occurs, if the folder is empty, and `alwaysShowOpener` is false, the opener icon will be hidden.

    For more information on load on demand trees, and how we determine whether a node is a a folder or a leaf, please refer to the `TreeDataBinding` documentation.

    The opener icon URL is derived from the specified `openerImage` or `connectorImage` depending on `showConnectors`. If `showSelectedOpener` is specified a separate opener icon will be displayed for selected nodes.

    Parameters:
      `showOpener` - New showOpener value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowOpener

    public Boolean getShowOpener()
    Should the opener icon be displayed next to folder nodes? This is an icon which visually indicates whether the folder is opened or closed (typically via a [+] or [-] image, or a turn-down arrow) and may be clicked to expand or collapse the folder.

    For folders with no children, this icon is not shown unless `alwaysShowOpener` is `true`. Note that for trees which `load data on demand`, we may not know if a folder has any descendants if it has never been opened. As such we will show the opener icon next to the folder. Once the user opens the icon and a fetch occurs, if the folder is empty, and `alwaysShowOpener` is false, the opener icon will be hidden.

    For more information on load on demand trees, and how we determine whether a node is a a folder or a leaf, please refer to the `TreeDataBinding` documentation.

    The opener icon URL is derived from the specified `openerImage` or `connectorImage` depending on `showConnectors`. If `showSelectedOpener` is specified a separate opener icon will be displayed for selected nodes.

    Returns:
      Current showOpener value. Default value is true

  - ### setShowOpenIcons

    public TreeGrid setShowOpenIcons(Boolean showOpenIcons)
    If true, show a different icon for `open` folders than closed folders. This is achieved by appending the `openIconSuffix` onto the `folderIcon` URL [for example `"[SKIN]/folder.gif"` might be replaced by `"[SKIN]/folder_open.gif"`.
    Note If this property is set to `false` the same icon is shown for open folders as for closed folders, unless a custom folder icon was specified. This will be determined by `folderIcon` plus the `closedIconSuffix`.
    Parameters:
      `showOpenIcons` - New showOpenIcons value. Default value is true
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - Node Titles Example

  - ### getShowOpenIcons

    public Boolean getShowOpenIcons()
    If true, show a different icon for `open` folders than closed folders. This is achieved by appending the `openIconSuffix` onto the `folderIcon` URL [for example `"[SKIN]/folder.gif"` might be replaced by `"[SKIN]/folder_open.gif"`.
    Note If this property is set to `false` the same icon is shown for open folders as for closed folders, unless a custom folder icon was specified. This will be determined by `folderIcon` plus the `closedIconSuffix`.
    Returns:
      Current showOpenIcons value. Default value is true
    See Also:
      - Node Titles Example

  - ### setShowPartialSelection

    public TreeGrid setShowPartialSelection(Boolean showPartialSelection)
    Should partially selected parents be shown with special icon?
    Overrides:
      `setShowPartialSelection` in class `ListGrid`
    Parameters:
      `showPartialSelection` - New showPartialSelection value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `Selection`

  - ### getShowPartialSelection

    public Boolean getShowPartialSelection()
    Should partially selected parents be shown with special icon?
    Overrides:
      `getShowPartialSelection` in class `ListGrid`
    Returns:
      Current showPartialSelection value. Default value is false
    See Also:
      - `Selection`

  - ### setShowRoot

    public TreeGrid setShowRoot(Boolean showRoot) throws IllegalStateException
    Specifies whether the root node should be displayed in the treeGrid.

    This property is only available for "children" modelType trees, hence is not allowed for trees that load data from the server dynamically via `fetchData()`.

    To get the equivalent of a visible "root" node in a tree that loads data dynamically, add a singular, top-level parent to the data. However, note that this top-level parent will technically be the only child of root, and the implicit root object will be returned by `this.data.getRoot()`.

    Parameters:
      `showRoot` - New showRoot value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getShowRoot

    public Boolean getShowRoot()
    Specifies whether the root node should be displayed in the treeGrid.

    This property is only available for "children" modelType trees, hence is not allowed for trees that load data from the server dynamically via `fetchData()`.

    To get the equivalent of a visible "root" node in a tree that loads data dynamically, add a singular, top-level parent to the data. However, note that this top-level parent will technically be the only child of root, and the implicit root object will be returned by `this.data.getRoot()`.

    Returns:
      Current showRoot value. Default value is false

  - ### setShowSelectedIcons

    public TreeGrid setShowSelectedIcons(Boolean showSelectedIcons)
    If true, show a different icon for selected nodes than unselected nodes. This is achieved by appending the `selectedIconSuffix` onto the `folderIcon` URL or `nodeIcon` for selected records.

    If appropriate, this suffix will be combined with the `openIconSuffix` or `closedIconSuffix` (see `showOpenIcons`. So a treeGrid with its `folderIcon` property set to `"[SKIN]/folder.gif"`, with both `showSelectedIcons` and `showOpenIcons` set to true would show an icon with the URL `"[SKIN]/folder_open_selected.gif"` for a folder that was both selected and opened.

    Parameters:
      `showSelectedIcons` - New showSelectedIcons value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowSelectedIcons

    public Boolean getShowSelectedIcons()
    If true, show a different icon for selected nodes than unselected nodes. This is achieved by appending the `selectedIconSuffix` onto the `folderIcon` URL or `nodeIcon` for selected records.

    If appropriate, this suffix will be combined with the `openIconSuffix` or `closedIconSuffix` (see `showOpenIcons`. So a treeGrid with its `folderIcon` property set to `"[SKIN]/folder.gif"`, with both `showSelectedIcons` and `showOpenIcons` set to true would show an icon with the URL `"[SKIN]/folder_open_selected.gif"` for a folder that was both selected and opened.

    Returns:
      Current showSelectedIcons value. Default value is false

  - ### setShowSelectedOpener

    public TreeGrid setShowSelectedOpener(Boolean showSelectedOpener)
    If `showOpener` is true, should a different opener icon be displayed for selected nodes? This provides a way for developers to show a "selected" version of the opener icon set which looks optimal with the `selected appearance` applied the selected record.

    The selected icon URL is created by appending the suffix `"_selected"` to the `openerImage` or `connectorImage`.

    Parameters:
      `showSelectedOpener` - New showSelectedOpener value. Default value is false
    Returns:
      `TreeGrid` instance, for chaining setter calls

  - ### getShowSelectedOpener

    public Boolean getShowSelectedOpener()
    If `showOpener` is true, should a different opener icon be displayed for selected nodes? This provides a way for developers to show a "selected" version of the opener icon set which looks optimal with the `selected appearance` applied the selected record.

    The selected icon URL is created by appending the suffix `"_selected"` to the `openerImage` or `connectorImage`.

    Returns:
      Current showSelectedOpener value. Default value is false

  - ### setSortFoldersBeforeLeaves

    public TreeGrid setSortFoldersBeforeLeaves(Boolean sortFoldersBeforeLeaves) throws IllegalStateException
    If specified, this attribute will override `Tree.sortFoldersBeforeLeaves` on the data for this treeGrid.

    Specifies whether when `Tree.separateFolders` is true, folders should be displayed before or after their sibling leaves in a sorted tree. If set to true, with sortDirection set to Array.ASCENDING, folders are displayed before their sibling leaves and with sort direction set to Array.DESCENDING they are displayed after. To invert this behavior, set this property to false.

    Parameters:
      `sortFoldersBeforeLeaves` - New sortFoldersBeforeLeaves value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `setSeparateFolders(java.lang.Boolean)`

  - ### getSortFoldersBeforeLeaves

    public Boolean getSortFoldersBeforeLeaves()
    If specified, this attribute will override `Tree.sortFoldersBeforeLeaves` on the data for this treeGrid.

    Specifies whether when `Tree.separateFolders` is true, folders should be displayed before or after their sibling leaves in a sorted tree. If set to true, with sortDirection set to Array.ASCENDING, folders are displayed before their sibling leaves and with sort direction set to Array.DESCENDING they are displayed after. To invert this behavior, set this property to false.

    Returns:
      Current sortFoldersBeforeLeaves value. Default value is null
    See Also:
      - `getSeparateFolders()`

  - ### setTreeFieldMinWidth

    public TreeGrid setTreeFieldMinWidth(int treeFieldMinWidth) throws IllegalStateException
    Default `minimum width` for the `treeField`. If unset, the default minimum width will be derived from `minFieldWidth`, like any every other field.
    Parameters:
      `treeFieldMinWidth` - New treeFieldMinWidth value. Default value is 100
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getTreeFieldMinWidth

    public int getTreeFieldMinWidth()
    Default `minimum width` for the `treeField`. If unset, the default minimum width will be derived from `minFieldWidth`, like any every other field.
    Returns:
      Current treeFieldMinWidth value. Default value is 100

  - ### setTreeFieldTitle

    public TreeGrid setTreeFieldTitle(String treeFieldTitle) throws IllegalStateException
    Visible title for the tree column (field).
    Parameters:
      `treeFieldTitle` - New treeFieldTitle value. Default value is "Name"
    Returns:
      `TreeGrid` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created

  - ### getTreeFieldTitle

    public String getTreeFieldTitle()
    Visible title for the tree column (field).
    Returns:
      Current treeFieldTitle value. Default value is "Name"

  - ### setUseAllDataSourceFields

    public TreeGrid setUseAllDataSourceFields(Boolean useAllDataSourceFields)
    If true, the set of fields given by the "default binding" (see `DataBoundComponent.fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

    If `component.fields` contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

    This example shows a mixture of component fields and DataSource fields, and how they interact for validation.

    This setting may be cleared if a `FieldPicker` is used to edit the component's field order.

    Specified by:
      `setUseAllDataSourceFields` in interface `DataBoundComponent`
    Overrides:
      `setUseAllDataSourceFields` in class `ListGrid`
    Parameters:
      `useAllDataSourceFields` - New useAllDataSourceFields value. Default value is null
    Returns:
      `TreeGrid` instance, for chaining setter calls
    See Also:
      - `FieldPicker.setDataBoundComponent(com.smartgwt.client.widgets.Canvas)`
      - `DataBinding`
      - Customized Binding Example

  - ### getUseAllDataSourceFields

    public Boolean getUseAllDataSourceFields()
    If true, the set of fields given by the "default binding" (see `DataBoundComponent.fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

    If `component.fields` contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

    This example shows a mixture of component fields and DataSource fields, and how they interact for validation.

    This setting may be cleared if a `FieldPicker` is used to edit the component's field order.

    Specified by:
      `getUseAllDataSourceFields` in interface `DataBoundComponent`
    Overrides:
      `getUseAllDataSourceFields` in class `ListGrid`
    Returns:
      Current useAllDataSourceFields value. Default value is null
    See Also:
      - `FieldPicker.getDataBoundComponent()`
      - `DataBinding`
      - Customized Binding Example

  - ### canEditCell

    public Boolean canEditCell()
    Overridden to disallow editing of the `name` field of this grid's data tree. Also disallows editing of the auto-generated tree field, which displays the result of `Tree.getTitle()` on the node.
    Returns:
      Whether to allow editing this cell

  - ### closeFolder

    public void closeFolder(TreeNode node)
    Closes a folder.
    Parameters:
      `node` - node to close
    See Also:
      - `openFolder(com.smartgwt.client.widgets.tree.TreeNode)`
      - `FolderClosedEvent`

  - ### addDataArrivedHandler

    public HandlerRegistration addDataArrivedHandler(DataArrivedHandler handler)
    Add a dataArrived handler.

    Notification method fired whenever this TreeGrid receives new data nodes from the dataSource. Only applies to databound TreeGrids where `TreeGrid.data` is a `ResultTree` - either explicitly created and applied via `TreeGrid.setData()` or automatically generated via a `fetchData()` call.

    Note that `dataArrived()`, unlike `TreeGrid.dataChanged()`, only fires in limited circumstances - when data for a `ResultTree` arrives from the server due to a fetch or cache invalidation, or as a result of filtering. If you want to catch all data changes, you should instead react to `TreeGrid.dataChanged()`.

    Specified by:
      `addDataArrivedHandler` in interface `HasDataArrivedHandlers`
    Parameters:
      `handler` - the dataArrived handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addDataChangedHandler

    public HandlerRegistration addDataChangedHandler(DataChangedHandler handler)
    Add a dataChanged handler.

    Notification method fired when the TreeGrid's data changes, for any reason.

    Examples of why data changed might be:

    - a call to `addData()`, `updateData()`, or `removeData()`
    - `DataSource` updates from the server for `ResultTree` data (triggered by record editing, etc.)
    - fetches arriving back from the server for `ResultTree` data
    - programmatic changes to `Tree` data if made through APIs such as `Tree.add()`, `Tree.remove()`, etc.
    - cache invalidation
    - filtering
    Calling `TreeGrid.setData()` doesn't call this notification directly, but it may fire if one of the above listed events is triggered (e.g. a server fetch for `ResultTree` data).

    Note that the `operationType` parameter is optional and will be passed and contain the operation (e.g. "update") if this notification was triggered by a fetch, an `addData()`, `updateData()`, or `removeData()`, or a `DataSource` update for `ResultTree` data (the first three reasons listed above) but otherwise will be null.

    Specified by:
      `addDataChangedHandler` in interface `HasDataChangedHandlers`
    Parameters:
      `handler` - the dataChanged handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### exportClientData

    public void exportClientData()
    Exports this component's data with client-side formatters applied, so is suitable for direct display to users. See `ListGrid.exportClientData()` for details of the general requirements and restrictions when exporting client data.

    The following notes apply when exporting client data from TreeGrids:

    - Export only works correctly if you specify `fields`; if you allow it to generate a `default field`, nothing will be exported
    - Only visible nodes are exported; if you close a node, its children are not exported even if they are loaded and known to the client
    - Tree nodes are exported as a flat list, in the same order they are displayed in the TreeGrid

    If your TreeGrid has custom formatters, formatted values will be exported by default, with HTML normalized to text where possible. Since some levels of HTML normalizing aren't possible, this may result in missing or incorrect export values. In this case, you have two possible approaches:

    - Set `exportRawValues` on the field. This will export the raw underlying value of the field; your formatter will not be called
    - Have your formatter call `isExportingClientData()` and perform whatever alternative formatting you require if that method returns true
    Overrides:
      `exportClientData` in class `ListGrid`
    See Also:
      - `ListGrid.exportClientData()`

  - ### exportClientData

    public void exportClientData(DSRequest requestProperties)
    Overrides:
      `exportClientData` in class `ListGrid`
    See Also:
      - `exportClientData()`

  - ### exportClientData

    public void exportClientData(DSRequest requestProperties, RPCCallback callback)
    Exports this component's data with client-side formatters applied, so is suitable for direct display to users. See `ListGrid.exportClientData()` for details of the general requirements and restrictions when exporting client data.

    The following notes apply when exporting client data from TreeGrids:

    - Export only works correctly if you specify `fields`; if you allow it to generate a `default field`, nothing will be exported
    - Only visible nodes are exported; if you close a node, its children are not exported even if they are loaded and known to the client
    - Tree nodes are exported as a flat list, in the same order they are displayed in the TreeGrid

    If your TreeGrid has custom formatters, formatted values will be exported by default, with HTML normalized to text where possible. Since some levels of HTML normalizing aren't possible, this may result in missing or incorrect export values. In this case, you have two possible approaches:

    - Set `exportRawValues` on the field. This will export the raw underlying value of the field; your formatter will not be called
    - Have your formatter call `isExportingClientData()` and perform whatever alternative formatting you require if that method returns true
    Overrides:
      `exportClientData` in class `ListGrid`
    Parameters:
      `requestProperties` - Request properties for the export. Note that specifying `exportData` on the request properties allows the developer to pass in an explicit data set to export.
      `callback` - Optional callback. If you specify `exportToClient`: false in the request properties, this callback will fire after export completes. Otherwise the callback will fire right before the download request is made to the server.
    See Also:
      - `ListGrid.exportClientData()`

  - ### addFolderClickHandler

    public HandlerRegistration addFolderClickHandler(FolderClickHandler handler)
    Add a folderClick handler.

    This method is called when a folder record is clicked on.

    Specified by:
      `addFolderClickHandler` in interface `HasFolderClickHandlers`
    Parameters:
      `handler` - the folderClick handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addFolderClosedHandler

    public HandlerRegistration addFolderClosedHandler(FolderClosedHandler handler)
    Add a folderClosed handler.

    This method is called when a folder is closed either via the user manipulating the expand/collapse control in the UI or via `TreeGrid.closeFolder()`. You can return `false` to cancel the close.

    Specified by:
      `addFolderClosedHandler` in interface `HasFolderClosedHandlers`
    Parameters:
      `handler` - the folderClosed handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addFolderContextClickHandler

    public HandlerRegistration addFolderContextClickHandler(FolderContextClickHandler handler)
    Add a folderContextClick handler.

    This method is called when a context click occurs on a folder record.

    Specified by:
      `addFolderContextClickHandler` in interface `HasFolderContextClickHandlers`
    Parameters:
      `handler` - the folderContextClick handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addFolderOpenedHandler

    public HandlerRegistration addFolderOpenedHandler(FolderOpenedHandler handler)
    Add a folderOpened handler.

    This method is called when a folder is opened either via the user manipulating the expand/collapse control in the UI or via `TreeGrid.openFolder()`. You can return `false` to cancel the open.

    Specified by:
      `addFolderOpenedHandler` in interface `HasFolderOpenedHandlers`
    Parameters:
      `handler` - the folderOpened handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### getDraggedNodeLocators

    public NodeLocator[] getDraggedNodeLocators(TreeGrid source)
    NOTE: Applicable only to `multi-link trees`; if called on a regular `TreeGrid`, returns an empty array.

    During a drag-and-drop interaction, this method returns the set of node occurrences being dragged out of the component, wrapped inside `NodeLocator`s. In the default implementation, this is the list of currently selected node occurrences

    Parameters:
      `source` - source grid from which the records will be transferred
    Returns:
      Array of `NodeLocator`s unambiguously identifying the node occurrences that are currently selected

  - ### getEventRow

    public int getEventRow()
    Returns the row number of the provided Y-coordinate, or the most recent mouse event if a Y-coordinate is not provided.
    Overrides:
      `getEventRow` in class `ListGrid`
    Returns:
      row number, or -2 if beyond last drawn row

  - ### getEventRow

    public int getEventRow(Integer y)
    Returns the row number of the provided Y-coordinate, or the most recent mouse event if a Y-coordinate is not provided.
    Overrides:
      `getEventRow` in class `ListGrid`
    Parameters:
      `y` - Y-coordinate relative to the top edge of the content to obtain the row number for. If not provided, then `Canvas.getOffsetY()` will be used.
    Returns:
      row number, or -2 if beyond last drawn row

  - ### getOpenIcon

    public String getOpenIcon(TreeNode node)
    Get the appropriate open/close opener icon for a node. Returns null if `showOpener` is set to false.
    Parameters:
      `node` - tree node in question
    Returns:
      URL for the icon to show the node's open state. See `URL`

  - ### getOpenState

    public String getOpenState()
    Returns a snapshot of the current open state of this grid's data as a `TreeGridOpenState` object.
    This object can be passed to `setOpenState()` to open the same set of folders within the treeGrid's data (assuming the nodes are still present in the data).
    Returns:
      current open state for the grid. See `TreeGridOpenState`
    See Also:
      - `setOpenState(java.lang.String)`

  - ### getSelectedPaths

    public String getSelectedPaths()
    Returns a snapshot of the current selection within this treeGrid as a `ListGridSelectedState` object.
    This object can be passed to `setSelectedPaths()` to reset this grid's selection the current state (assuming the same data is present in the grid).
    Returns:
      current state of this grid's selection. See `ListGridSelectedState`
    See Also:
      - `setSelectedPaths(java.lang.String)`

  - ### groupBy

    public void groupBy()
    Not applicable to TreeGrids, as the `data` already represents a tree.
    See Also:
      - `getGroupByField()`

  - ### isExportingClientData

    public boolean isExportingClientData()
    Returns true if this component is currently `exporting client data`. This method can be called from custom cell formatters if you need to return a different formatted value for an export than for a live TreeGrid
    Overrides:
      `isExportingClientData` in class `ListGrid`
    Returns:
      returns true if this component is currently exporting client data
    See Also:
      - `exportClientData()`

  - ### isOverExtraIcon

    public Boolean isOverExtraIcon()
    Returns true if the last event occurred over `extra icon` for the current node.

    Returns false if the event did not occur over an extraIcon, or if no extraIcon is showing for the node in question.

    Returns:
      true if the user clicked the extra icon

  - ### isOverOpenArea

    public Boolean isOverOpenArea()
    Returns true if the last event occurred over the indented area or over the open / close icon of a folder node in this TreeGrid. Returns false if the event did not occur over a folder node.
    Returns:
      true if the user clicked the open icon

  - ### addLeafClickHandler

    public HandlerRegistration addLeafClickHandler(LeafClickHandler handler)
    Add a leafClick handler.

    This method is called when a leaf record is clicked on.

    Specified by:
      `addLeafClickHandler` in interface `HasLeafClickHandlers`
    Parameters:
      `handler` - the leafClick handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addLeafContextClickHandler

    public HandlerRegistration addLeafContextClickHandler(LeafContextClickHandler handler)
    Add a leafContextClick handler.

    This method is called when a context click occurs on a leaf record.

    Specified by:
      `addLeafContextClickHandler` in interface `HasLeafContextClickHandlers`
    Parameters:
      `handler` - the leafContextClick handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### loadAllRecords

    public Boolean loadAllRecords()
    This method is not currently supported for this grid-type. See `ListGrid.loadAllRecords()` for more information.
    Overrides:
      `loadAllRecords` in class `ListGrid`
    Returns:
      true if a fetch was made or was not needed - false otherwise

  - ### loadAllRecords

    public Boolean loadAllRecords(Integer maxRecords)
    Overrides:
      `loadAllRecords` in class `ListGrid`
    See Also:
      - `loadAllRecords()`

  - ### loadAllRecords

    public Boolean loadAllRecords(Integer maxRecords, DSCallback callback)
    This method is not currently supported for this grid-type. See `ListGrid.loadAllRecords()` for more information.
    Overrides:
      `loadAllRecords` in class `ListGrid`
    Parameters:
      `maxRecords` - optional maximum record count - if passed, no fetch takes place if maxRecords is below the known length of the data
      `callback` - callback to fire if a fetch is issued - if all data was already loaded, the callback is fired with no parameters
    Returns:
      true if a fetch was made or was not needed - false otherwise

  - ### addNodeClickHandler

    public HandlerRegistration addNodeClickHandler(NodeClickHandler handler)
    Add a nodeClick handler.

    This method is called when a leaf or folder record is clicked on. Note that if you set up a callback for `nodeClick()` and e.g. `TreeGrid.leafClick()`, then both will fire (in that order) if a leaf is clicked on.

    Specified by:
      `addNodeClickHandler` in interface `HasNodeClickHandlers`
    Parameters:
      `handler` - the nodeClick handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addNodeContextClickHandler

    public HandlerRegistration addNodeContextClickHandler(NodeContextClickHandler handler)
    Add a nodeContextClick handler.

    This method is called when a context click occurs on a leaf or folder record. Note that if you set up a callback for `nodeContextClick()` and e.g. `TreeGrid.leafContextClick()`, then both will fire (in that order) if a leaf is contextclicked - unless `nodeContextClick()` returns false, in which case no further contextClick callbacks will be called.

    Specified by:
      `addNodeContextClickHandler` in interface `HasNodeContextClickHandlers`
    Parameters:
      `handler` - the nodeContextClick handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### addFolderDropHandler

    public HandlerRegistration addFolderDropHandler(FolderDropHandler handler)
    Add a folderDrop handler.

    Process a drop of one or more nodes on a TreeGrid folder.
    Note: See `TreeGridDrop` for an overview of TreeGrid drag and drop behavior. Add logic in your drop handler to perform custom drop behaviors; to suppress the built-in behavior described below, use `event.cancel()`

    The default behavior is to simply delegate to the `TreeGrid.transferNodes()` method; thus, the correct way to perform a programmatic folder drop, with all the built-in behaviors described below, is to call `transferNodes()`

    If this is a self-drop, nodes are simply reordered. An "update" operation will be submitted to update the `parentId` field of the moved node(s).

    For a drop from another widget, `TreeGrid.transferDragData()` is called which, depending on the `dragDataAction` specified on the source widget, may either remove the source nodes from the original list (`dragDataAction:"move"`) or just provide a copy to this tree (`dragDataAction:"copy"`).

    In either case the new row(s) appear in the `folder` at the `index` specified by the arguments of the same name.

    If this grid is databound, the new nodes will be added to the dataset by calling `DataSource.addData()`. Further, if the new nodes were dragged from another databound component, and `addDropValues` is true, `getDropValues` will be called for every item being dropped.

    As a special case, if the `sourceWidget` is also databound and a `foreignKey` relationship is declared from the `sourceWidget`'s DataSource to this TreeGrid's DataSource, the interaction will be treated as a "drag recategorization" use case such as files being placed in folders, employees being assigned to teams, etc. "update" DSRequests will be submitted that change the foreignKey field in the dropped records to point to the tree folder that was the target of the drop. In this case no change will be made to the Tree data as such, only to the dropped records.

    For multi-record drops, Queuing is automatically used to combine all DSRequests into a single HTTP Request (see QuickStart Guide, Server Framework chapter). This allows the server to persist all changes caused by the drop in a single transaction (and this is automatically done when using the built-in server DataSources with Power Edition and above).

    If these default persistence behaviors are undesirable, use `event.cancel()`, then implement your own behavior, typically by using grid.updateData() or addData() to add new records.

    NOTE: the records you receive in this event are the actual Records from the source component. Use `DataSource.copyRecords()` to create a copy before modifying the records or using them with updateData() or addData().

    Specified by:
      `addFolderDropHandler` in interface `HasFolderDropHandlers`
    Parameters:
      `handler` - the folderDrop handler
    Returns:
      `HandlerRegistration` used to remove this handler

  - ### openFolder

    public void openFolder(TreeNode node)
    Opens a folder.

    Executed when a folder node receives a 'doubleClick' event.

    See the ListGrid Widget Class for inherited recordClick and recordDoubleClick events.

    Parameters:
      `node` - node to open
    See Also:
      - `closeFolder(com.smartgwt.client.widgets.tree.TreeNode)`
      - `FolderOpenedEvent`
      - `ListGrid`

  - ### openFolder

    public void openFolder(TreeNode node, String path)
    Opens a folder.

    Executed when a folder node receives a 'doubleClick' event.

    See the ListGrid Widget Class for inherited recordClick and recordDoubleClick events.

    Parameters:
      `node` - node to open
      `path` - optional parameter containing the full path to the node. This is essential context for a `multi-link tree`, but is not required in ordinary trees
    See Also:
      - `closeFolder(com.smartgwt.client.widgets.tree.TreeNode)`
      - `FolderOpenedEvent`
      - `ListGrid`

  - ### recordDoubleClick

    public boolean recordDoubleClick(TreeGrid viewer, TreeNode record, int recordNum, TreeGridField field, int fieldNum, Map value, Map rawValue)
    Handle a doubleClick on a tree node - override of ListGrid stringMethod of same name. If the node is a folder, this implementation calls `toggleFolder()` on it. If the node is a leaf, calls `openLeaf()` on it.
    Parameters:
      `viewer` - the treeGrid that contains doubleclick event
      `record` - the record that was double-clicked
      `recordNum` - number of the record clicked on in the current set of displayed records (starts with 0)
      `field` - the field that was clicked on (field definition)
      `fieldNum` - number of the field clicked on in the treeGrid.fields array
      `value` - value of the cell (after valueMap, etc. applied)
      `rawValue` - raw value of the cell (before valueMap, etc applied)
    Returns:
      false to stop event bubbling
    See Also:
      - `RecordDoubleClickEvent`

  - ### setOpenState

    public void setOpenState(String openState)
    Reset this set of open folders within this grid's data to match the `TreeGridOpenState` object passed in.
    Used to restore previous state retrieved from the grid by a call to `getOpenState()`.
    Parameters:
      `openState` - Object describing the desired set of open folders. See `TreeGridOpenState`
    See Also:
      - `getOpenState()`
      - `TreeGridOpenState`

  - ### setSelectedPaths

    public void setSelectedPaths(String selectedPaths)
    Reset this grid's selection to match the `ListGridSelectedState` object passed in.
    Used to restore previous state retrieved from the grid by a call to `getSelectedPaths()`.
    Parameters:
      `selectedPaths` - Object describing the desired selection state of the grid. See `ListGridSelectedState`
    See Also:
      - `getSelectedPaths()`
      - `ListGridSelectedState`

  - ### toggleFolder

    public void toggleFolder(TreeNode node)
    Opens the folder specified by node if it's closed, and closes it if it's open. TreeGrid will redraw if there's a change in the folder's open/closed state.
    Parameters:
      `node` - the node in question, or the the node's ID, or a NodeLocator object

  - ### toggleFolder

    public void toggleFolder(String node)
    Opens the folder specified by node if it's closed, and closes it if it's open. TreeGrid will redraw if there's a change in the folder's open/closed state.
    Parameters:
      `node` - the node in question, or the the node's ID, or a NodeLocator object

  - ### toggleFolder

    public void toggleFolder(Integer node)
    Opens the folder specified by node if it's closed, and closes it if it's open. TreeGrid will redraw if there's a change in the folder's open/closed state.
    Parameters:
      `node` - the node in question, or the the node's ID, or a NodeLocator object

  - ### toggleFolder

    public void toggleFolder(NodeLocator node)
    Opens the folder specified by node if it's closed, and closes it if it's open. TreeGrid will redraw if there's a change in the folder's open/closed state.
    Parameters:
      `node` - the node in question, or the the node's ID, or a NodeLocator object

  - ### setDefaultProperties

    public static void setDefaultProperties(TreeGrid treeGridProperties)
    Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

    Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

    Parameters:
      `treeGridProperties` - properties that should be used as new defaults when instances of this class are created
    See Also:
      - `SGWTProperties`

  - ### onInit

    protected void onInit()
    Overrides:
      `onInit` in class `ListGrid`

  - ### startEditingNew

    public void startEditingNew()
    This inherited `ListGrid API` is not supported by the TreeGrid since adding a new tree node arbitrarily at the end of the tree is usually not useful. Instead, to add a new tree node and begin editing it, use either of these two strategies:
    1. add a new node to the client-side Tree model via `Tree.add`, then use `startEditing` to begin editing this node. Note that if using a DataSource, when the node is saved, an "update" operation will be used since adding a node directly to the client-side `ResultTree` effectively means a new node has been added server side.
    2. use `DataSource.addData` to immediately save a new node. Automatic cache sync by the `ResultTree` will cause the node to be integrated into the tree. When the callback to addData() fires, locate the new node by matching primary key and call `startEditing` to begin editing it.
    Overrides:
      `startEditingNew` in class `ListGrid`
    See Also:
      - `ListGrid.startEditing()`
      - `Grid Editing`

  - ### getNodeTitle

    protected String getNodeTitle(Record node, int recordNum, ListGridField field)
    &#010 Returns the title to show for a node in the tree column. If the field specifies the&#010 `name` attribute, then the current `node[field.name]` is returned.&#010 Otherwise, the result of calling `Tree.getTitle(com.smartgwt.client.widgets.tree.TreeNode)` on the node is called.&#010
    &#010 You can override this method to return a custom title for node titles in the tree column.&#010&#010 Note : This is an override point
    Parameters:
      `node` - The node for which the title is being requested.
      `recordNum` - The index of the node.
      `field` - The field for which the title is being requested.
    Returns:
      the title to display.

  - ### getIcon

    protected String getIcon(Record node, boolean defaultState)
    Get the appropriate icon for a node.&#010

    &#010 By default icons are derived from `folderIcon` and `nodeIcon`.&#010 Custom icons for individual nodes can be overridden by setting the `customIconProperty`&#010 on a node.&#010

    &#010 If you want to suppress icons altogether, provide an override of this method that simply&#010 returns null.&#010

    &#010 Note that the full icon URL will be derived by applying `Canvas.getImgURL(java.lang.String)` to the&#010 value returned from this method.&#010&#010

    Note: This is an override point

    Parameters:
      `node` - tree node in question
      `defaultState` - defaultState
    Returns:
      URL for icon to show for this node

  - ### setCustomNodeIcon

    public void setCustomNodeIcon(Record node, String icon)
    Set the icon for a particular TreeNode to a specified URL
    Parameters:
      `node` - the tree node
      `icon` - path to the resource

  - ### getExtraIcon

    public String getExtraIcon(TreeNode node)
    Get an additional icon to show between the open icon and folder/node icon for a particular node.

    NOTE: If `selectionAppearance` is `"checkbox"`, this method will NOT be called. Extra icons cannot be shown for that appearance.

    Note: This is an override point

    Parameters:
      `node` - tree node in question
    Returns:
      URL for the extra icon (null if none required). See `TreeNode`

  - ### getDropFolder

    public TreeNode getDropFolder()
    When the user is dragging a droppable element over this grid, this method returns the folder&#010 which would contain the item if dropped. This is the current drop node if the user is hovering&#010 over a folder, or the node's parent if the user is hovering over a leaf.&#010
    Returns:
      target drop folder

  - ### setData

    public void setData(Tree data)
    A `Tree` object containing of nested `TreeNode`s to display as rows in this TreeGrid. The `data` property will typically not be explicitly specified for databound TreeGrids, where the data is returned from the server via databound component methods such as `fetchData()`
    If this method is called after the component has been drawn/initialized: Set the `Tree` object this TreeGrid will view and manipulate.
    Parameters:
      `data` - Tree to show. Default value is null

  - ### getData

    public Tree getData()
    A `Tree` object containing of nested `TreeNode`s to display as rows in this TreeGrid. The `data` property will typically not be explicitly specified for databound TreeGrids, where the data is returned from the server via databound component methods such as `fetchData()`
    Returns:
      Tree

  - ### getTree

    public Tree getTree()
    Synonym for `getData()`
    Returns:
      the underlying tree

  - ### setDataProperties

    public void setDataProperties(Tree resultTreeProperties)
    For databound TreeGrids, this attribute can be used to customize the `com.smartgwt.client.tree.ResultTree` object created for this grid when data is fetched.

    Note : This is an advanced setting

    Class overrides for `ResultTree` cannot be applied to the grid using this API. Instead, consider setting the `resultTreeClass` property in the file defining your `DataSource`. Your class must be `registered for reflection`.
    Parameters:
      `resultTreeProperties` - the data properties
    See Also:
      - `Databinding overview and related methods`

  - ### getRecords

    public ListGridRecord[] getRecords()
    Return the tree nodes as a flat array of ListGridRecords. Internally this method retrieves all the nodes via `Tree.getOpenList(TreeNode)`. You should favor working with the underlying `Tree` data structure when working with a TreeGrid.
    Overrides:
      `getRecords` in class `ListGrid`
    Returns:
      the tree nodes as ListGridRecord's

  - ### setInitialData

    public void setInitialData(TreeNode[] initialData) throws IllegalStateException
    You can specify the initial set of data for a databound TreeGrid using this property. The value of this attribute should be a list of `parentId`-linked `TreeNode`s in a format equivalent to that documented on `Tree.data` or, for TreeGrids with `dataFetchMode` set to `"paged"`, on `ResultTree.data`.

    If you create a standalone `Tree` or `ResultTree` as the TreeGrid's `data` then you may equivalently specify this initial set of tree nodes in that tree's `data` property.

    Note : This is an advanced setting

    Parameters:
      `initialData` - New initialData value. Default value is null
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `TreeNode`
      - `Tree.setData(com.smartgwt.client.widgets.tree.TreeNode[])`
      - `ResultTree.setData(com.smartgwt.client.widgets.tree.TreeNode...)`
      - Initial Data & Load on Demand Example

  - ### fetchData

    public void fetchData()
    Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.

    This method will create a `com.smartgwt.client.data.ResultTree` to manage tree data, which will subsequently be available as `treeGrid.data`. DataSource records returned by the "fetch" operation are linked into a tree structure according to `primaryKey` and `foreignKey` declarations on DataSource fields. See the `TreeDataBinding` topic for complete details.

    By default, the created ResultTree will use folder-by-folder load on demand, asking the server for the children of each folder as the user opens it.

    The `com.smartgwt.client.data.ResultTree` created by `fetchData()` can be customized by setting `dataProperties` to an Object containing properties and methods to apply to the created ResultTree. For example, the property that determines whether a node is a folder (`isFolderProperty`) can be customized, or level-by-level loading can be disabled via `loadDataOnDemand`.

    The callback passed to `fetchData` will fire once, the first time that data is loaded from the server. If using folder-by-folder load on demand, use the `com.smartgwt.client.data.ResultTree#dataArrived` notification to be notified each time new nodes are loaded.

    Note that, if criteria are passed to `fetchData()`, they will be passed every time a new "fetch" operation is sent to the server. This allows you to retrieve multiple different tree structures from the same DataSource. However note that the server is expected to always respond with an intact tree - returned nodes which do not have parents are dropped from the dataset and not displayed.

    Specified by:
      `fetchData` in interface `DataBoundComponent`
    Overrides:
      `fetchData` in class `ListGrid`

  - ### fetchData

    public void fetchData(Criteria criteria)
    Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.

    This method will create a `com.smartgwt.client.data.ResultTree` to manage tree data, which will subsequently be available as `treeGrid.data`. DataSource records returned by the "fetch" operation are linked into a tree structure according to `primaryKey` and `foreignKey` declarations on DataSource fields. See the `TreeDataBinding` topic for complete details.

    By default, the created ResultTree will use folder-by-folder load on demand, asking the server for the children of each folder as the user opens it.

    The `com.smartgwt.client.data.ResultTree` created by `fetchData()` can be customized by setting `dataProperties` to an Object containing properties and methods to apply to the created ResultTree. For example, the property that determines whether a node is a folder (`isFolderProperty`) can be customized, or level-by-level loading can be disabled via `loadDataOnDemand`.

    The callback passed to `fetchData` will fire once, the first time that data is loaded from the server. If using folder-by-folder load on demand, use the `com.smartgwt.client.data.ResultTree#dataArrived` notification to be notified each time new nodes are loaded.

    Note that, if criteria are passed to `fetchData()`, they will be passed every time a new "fetch" operation is sent to the server. This allows you to retrieve multiple different tree structures from the same DataSource. However note that the server is expected to always respond with an intact tree - returned nodes which do not have parents are dropped from the dataset and not displayed.

    Specified by:
      `fetchData` in interface `DataBoundComponent`
    Overrides:
      `fetchData` in class `ListGrid`
    Parameters:
      `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`

  - ### fetchData

    public void fetchData(Criteria criteria, DSCallback callback)
    Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.

    This method will create a `com.smartgwt.client.data.ResultTree` to manage tree data, which will subsequently be available as `treeGrid.data`. DataSource records returned by the "fetch" operation are linked into a tree structure according to `primaryKey` and `foreignKey` declarations on DataSource fields. See the `TreeDataBinding` topic for complete details.

    By default, the created ResultTree will use folder-by-folder load on demand, asking the server for the children of each folder as the user opens it.

    The `com.smartgwt.client.data.ResultTree` created by `fetchData()` can be customized by setting `dataProperties` to an Object containing properties and methods to apply to the created ResultTree. For example, the property that determines whether a node is a folder (`isFolderProperty`) can be customized, or level-by-level loading can be disabled via `loadDataOnDemand`.

    The callback passed to `fetchData` will fire once, the first time that data is loaded from the server. If using folder-by-folder load on demand, use the `com.smartgwt.client.data.ResultTree#dataArrived` notification to be notified each time new nodes are loaded.

    Note that, if criteria are passed to `fetchData()`, they will be passed every time a new "fetch" operation is sent to the server. This allows you to retrieve multiple different tree structures from the same DataSource. However note that the server is expected to always respond with an intact tree - returned nodes which do not have parents are dropped from the dataset and not displayed.

    Specified by:
      `fetchData` in interface `DataBoundComponent`
    Overrides:
      `fetchData` in class `ListGrid`
    Parameters:
      `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
      `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required

  - ### fetchData

    public void fetchData(Criteria criteria, DSCallback callback, DSRequest requestProperties)
    Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the provided criteria, and displays the matching data in this component as a tree.

    This method will create a `com.smartgwt.client.data.ResultTree` to manage tree data, which will subsequently be available as `treeGrid.data`. DataSource records returned by the "fetch" operation are linked into a tree structure according to `primaryKey` and `foreignKey` declarations on DataSource fields. See the `TreeDataBinding` topic for complete details.

    By default, the created ResultTree will use folder-by-folder load on demand, asking the server for the children of each folder as the user opens it.

    The `com.smartgwt.client.data.ResultTree` created by `fetchData()` can be customized by setting `dataProperties` to an Object containing properties and methods to apply to the created ResultTree. For example, the property that determines whether a node is a folder (`isFolderProperty`) can be customized, or level-by-level loading can be disabled via `loadDataOnDemand`.

    The callback passed to `fetchData` will fire once, the first time that data is loaded from the server. If using folder-by-folder load on demand, use the `com.smartgwt.client.data.ResultTree#dataArrived` notification to be notified each time new nodes are loaded.

    Note that, if criteria are passed to `fetchData()`, they will be passed every time a new "fetch" operation is sent to the server. This allows you to retrieve multiple different tree structures from the same DataSource. However note that the server is expected to always respond with an intact tree - returned nodes which do not have parents are dropped from the dataset and not displayed.

    Specified by:
      `fetchData` in interface `DataBoundComponent`
    Overrides:
      `fetchData` in class `ListGrid`
    Parameters:
      `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
      `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required
      `requestProperties` - additional properties to set on the DSRequest that will be issued

  - ### filterData

    public void filterData(Criteria criteria)
    Retrieves data that matches the provided criteria and displays the matching data in this component.

    This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

    Specified by:
      `filterData` in interface `DataBoundComponent`
    Overrides:
      `filterData` in class `ListGrid`
    Parameters:
      `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`

  - ### filterData

    public void filterData(Criteria criteria, DSCallback callback)
    Retrieves data that matches the provided criteria and displays the matching data in this component.

    This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

    Specified by:
      `filterData` in interface `DataBoundComponent`
    Overrides:
      `filterData` in class `ListGrid`
    Parameters:
      `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
      `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required; see `DataBoundComponent.fetchData()` for details

  - ### filterData

    public void filterData(Criteria criteria, DSCallback callback, DSRequest requestProperties)
    Retrieves data that matches the provided criteria and displays the matching data in this component.

    This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

    Specified by:
      `filterData` in interface `DataBoundComponent`
    Overrides:
      `filterData` in class `ListGrid`
    Parameters:
      `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
      `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required; see `DataBoundComponent.fetchData()` for details
      `requestProperties` - for databound components only - optional additional properties to set on the DSRequest that will be issued

  - ### getSelectedRecord

    public TreeNode getSelectedRecord()
    Return the first selected record in this component.
    This method is appropriate if ``selectionType`` is `"single"`, or if you only care about the first selected record in a multiple-record selection. To access all selected records, use ``ListGrid.getSelection()`` instead.
    Overrides:
      `getSelectedRecord` in class `ListGrid`
    Returns:
      first selected record, or null if nothing selected
    See Also:
      - `Selection`
      - Databound remove Example

  - ### getRecord

    public TreeNode getRecord(int recordNum)
    Return the pointer to a particular record by record number. Synonym for `com.smartgwt.client.widgets.grid.ListGrid#getCellRecord`.
    Overrides:
      `getRecord` in class `ListGrid`
    Parameters:
      `recordNum` - row index of record to return.
    Returns:
      Record object for the row.
    See Also:
      - `com.smartgwt.client.widgets.grid.ListGrid#getCellRecord`
      - `ListGrid.getEditedRecord(int)`

  - ### setTreeRootValue

    public void setTreeRootValue(String treeRootValue) throws IllegalStateException
    For databound trees, use this attribute to supply a `DataSourceField.rootValue` for this component's generated data object.

    This property allows you to have a particular component navigate a tree starting from any given node as the root.

    Note : This is an advanced setting

    Parameters:
      `treeRootValue` - New treeRootValue value. Default value is null
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Databinding overview and related methods`

  - ### setTreeRootValue

    public void setTreeRootValue(Integer treeRootValue) throws IllegalStateException
    For databound trees, use this attribute to supply a `DataSourceField.rootValue` for this component's generated data object.

    This property allows you to have a particular component navigate a tree starting from any given node as the root.

    Note : This is an advanced setting

    Parameters:
      `treeRootValue` - New treeRootValue value. Default value is null
    Throws:
      `IllegalStateException` - this property cannot be changed after the component has been created
    See Also:
      - `Databinding overview and related methods`

  - ### getTreeRootValue

    public String getTreeRootValue()
    For databound trees, use this attribute to supply a `DataSourceField.rootValue` for this component's generated data object.

    This property allows you to have a particular component navigate a tree starting from any given node as the root.

    Returns:
      Current treeRootValue value. Default value is null
    See Also:
      - `Databinding overview and related methods`

  - ### getCellAlign

    public Alignment getCellAlign(ListGridRecord record, int rowNum, int colNum)
    Return the horizontal alignment for cell contents. Default implementation will always left-align the special `treeField` [or right-align if the page is in RTL mode] - otherwise will return `cellAlign` if specified, otherwise `align`.
    Parameters:
      `record` - this cell's record
      `rowNum` - row number for the cell
      `colNum` - column number of the cell
    Returns:
      Horizontal alignment of cell contents: 'right', 'center', or 'left'

  - ### setCellValueHoverFormatter

    public void setCellValueHoverFormatter(CellValueHoverFormatter formatter)
    Description copied from class: `ListGrid`
    Provide a custom implementation of `ListGrid.cellValueHoverHTML(ListGridRecord, int, int, String)`.

    The `CellValueHoverFormatter` should return the HTML to display in the hover canvas that is displayed by default if a registered `CellValueHoverHandler` does not cancel a `CellValueHoverEvent`. The formatter can return null or an empty string to cancel the hover.

    Overrides:
      `setCellValueHoverFormatter` in class `ListGrid`
    Parameters:
      `formatter` - the cell value hover formatter

  - ### willAcceptDrop

    public Boolean willAcceptDrop()
    This method overrides `ListGrid.willAcceptDrop()` and works as follows:
    First, `ListGrid.willAcceptDrop()` (the superclass definition) is consulted. If it returns false, then this method returns false immediately.
    This handles the following cases:
    - reordering of records within this TreeGrid when `canReorderRecords` is true
    - accepting dropped records from another dragTarget when `canAcceptDroppedRecords` is true and the dragTarget gives us a valid set of records to drop into place.
    - disallowing drop over disabled nodes, or nodes with `canAcceptDrop:false`
    This method will also return false if the drop occurred over a leaf node whose immediate parent has `canAcceptDrop` set to `false`
    If `canReparentNodes` is true, and the user is dragging a node from one folder to another, this method will return true to allow the change of parent folder.
    Otherwise this method returns true. Note: This is an override point.
    Overrides:
      `willAcceptDrop` in class `ListGrid`
    Returns:
      true if this component will accept a drop of the dragData

  - ### transferNodes

    public void transferNodes(TreeNode[] nodes, TreeNode folder, Integer index, Canvas sourceWidget, TransferNodesCallback callback)
    Transfer a list of `TreeNode`s from another component (does not have to be a databound component) into this TreeGrid.

    This method implements the automatic drag-copy and drag-move behavior and calling it is equivalent to completing a drag and drop of the nodes (the default folder drop behavior is simply to call `transferNodes()`, passing in the dropped nodes)

    Note that this method is asynchronous - it may need to perform server turnarounds to prevent duplicates in the target component's data. If you wish to be notified when the transfer process has completed, you can either pass a non-null callback to this method or add a `DropCompleteHandler` to this component.

    See also `transferSelectedData()`

    Parameters:
      `nodes` - Nodes to transfer to this component
      `folder` - The target folder (eg, of a drop interaction), for context
      `index` - (Insert point within the target folder data for the transferred nodes
      `sourceWidget` - The databound or non-databound component from which the nodes are to be transferred.
      `callback` - optional TransferNodesCallback to be fired when the transfer process has completed (pass null if your code does not need to be called back). The callback will be passed the list of nodes actually transferred to this component

  - ### addRecordDropHandler

    public HandlerRegistration addRecordDropHandler(RecordDropHandler handler) throws UnsupportedOperationException
    This ListGrid superclass event does not fire on a TreeGrid, use `addFolderDropHandler(com.smartgwt.client.widgets.tree.events.FolderDropHandler)` instead.
    Specified by:
      `addRecordDropHandler` in interface `HasRecordDropHandlers`
    Overrides:
      `addRecordDropHandler` in class `ListGrid`
    Parameters:
      `handler` - the onRecordDrop handler
    Returns:
      `HandlerRegistration` used to remove this handler
    Throws:
      `UnsupportedOperationException`

  - ### setLogicalStructure

    public LogicalStructureObject setLogicalStructure(TreeGridLogicalStructure s)
    Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

  - ### getLogicalStructure

    public LogicalStructureObject getLogicalStructure()
    Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    Specified by:
      `getLogicalStructure` in interface `LogicalStructure`
    Overrides:
      `getLogicalStructure` in class `ListGrid`