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, 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, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasBodyKeyPressHandlers, HasCellClickHandlers, HasCellContextClickHandlers, HasCellDoubleClickHandlers, HasCellHoverHandlers, HasCellMouseDownHandlers, HasCellMouseUpHandlers, HasCellOutHandlers, HasCellOverHandlers, HasCellSavedHandlers, HasCellSelectionChangedHandlers, HasCellValueHoverHandlers, HasDataArrivedHandlers, HasDrawAreaChangedHandlers, HasEditCompleteHandlers, HasEditFailedHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFieldStateChangedHandlers, HasFilterEditorSubmitHandlers, HasGroupByCompleteHandlers, HasGroupByHandlers, HasGroupStateChangedHandlers, HasHeaderClickHandlers, HasHeaderDoubleClickHandlers, HasHeaderHoverHandlers, HasHilitesChangedHandlers, HasRecordClickHandlers, HasRecordCollapseHandlers, HasRecordDoubleClickHandlers, HasRecordDropHandlers, HasRecordExpandHandlers, HasRemoveRecordClickHandlers, HasRowContextClickHandlers, HasRowEditorEnterHandlers, HasRowEditorExitHandlers, HasRowHoverHandlers, HasRowMouseDownHandlers, HasRowMouseUpHandlers, HasRowOutHandlers, HasRowOverHandlers, HasSelectionChangedHandlers, HasSelectionUpdatedHandlers, HasSortChangedHandlers, HasSorterClickHandlers, HasSorterContextClickHandlers, HasViewStateChangedHandlers, HasMembersChangedHandlers, HasFolderClickHandlers, HasFolderClosedHandlers, HasFolderContextClickHandlers, HasFolderDropHandlers, HasFolderOpenedHandlers, HasLeafClickHandlers, HasLeafContextClickHandlers, HasNodeClickHandlers, HasNodeContextClickHandlers
  Direct Known Subclasses:
    EditTree, TreePalette

      public class TreeGrid
      extends ListGrid
      implements HasDataArrivedHandlers, 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 `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 and Description
    `TreeGrid()`
    `TreeGrid(JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addDataArrivedHandler(DataArrivedHandler handler)` Add a dataArrived 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.
    `java.lang.Boolean` | `canEditCell()` Overridden to disallow editing of the `name` field of this grid's data tree.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.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.
    `java.lang.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.
    `java.lang.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.
    `java.lang.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.
    `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"`.
    `PreserveOpenState` | `getAutoPreserveOpenState()` For dataBound treeGrids this specifies the `autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
    `java.lang.Boolean` | `getCanAcceptDroppedRecords()` Indicates whether records can be dropped into this listGrid.
    `java.lang.Boolean` | `getCanDragRecordsOut()` Indicates whether records can be dragged from this listGrid and dropped elsewhere.
    `java.lang.Boolean` | `getCanDropOnLeaves()` Whether drops are allowed on leaf nodes.
    `java.lang.Boolean` | `getCanReorderRecords()` Indicates whether records can be reordered by dragging within this `ListGrid`.
    `java.lang.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.
    `java.lang.Boolean` | `getCanSelectAll()` This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
    `java.lang.String` | `getCantDragIntoChildMessage()` Message displayed when user attempts to drop a node into a child of itself.
    `java.lang.String` | `getCantDragIntoSelfMessage()` Message displayed when user attempts to drop a dragged node onto itself.
    `java.lang.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.
    `java.lang.String` | `getClosedIconSuffix()` This suffix will be appended to the `folderIcon` for closed folders.
    `java.lang.String` | `getConnectorImage()` The base filename for connector icons shown when `showConnectors` is true.
    `java.lang.Boolean` | `getCreateDefaultTreeField()` If no fields are specified, create a single field with `treeField` set to `true` to show the tree.
    `java.lang.String` | `getCustomIconDropProperty()` This property allows the developer to rename the `default node.showDropIcon` property.
    `java.lang.String` | `getCustomIconOpenProperty()` This property allows the developer to rename the `default node.showOpenIcon` property.
    `java.lang.String` | `getCustomIconProperty()` This property allows the developer to rename the `default node.icon` property.
    `Tree` | `getData()` A `Tree` object containing of nested `TreeNode`s to display as rows in this TreeGrid.
    `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.
    `TreeNode` | `getDropFolder()` When the user is dragging a droppable element over this grid, this method returns the folder which would contain the item if dropped.
    `java.lang.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 most recent mouse event.
    `int` | `getEventRow(java.lang.Integer y)` Returns the row number of the most recent mouse event.
    `java.lang.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 `TreeGrid.getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
    `java.lang.String` | `getFolderIcon()` The URL of the base icon for all folder nodes in this treeGrid.
    `protected java.lang.String` | `getIcon(Record node, boolean defaultState)` Get the appropriate icon for a node.
    `int` | `getIconSize()` The standard size (same height and width, in pixels) of node icons in this treeGrid.
    `java.lang.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.
    `java.lang.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.
    `java.lang.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?
    `java.lang.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.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `java.lang.String` | `getManyItemsImage()` The filename of the icon displayed use as the default drag tracker when for multiple files and/or folders are being dragged.
    `java.lang.String` | `getNodeIcon()` The filename of the default icon for all leaf nodes in this grid.
    `protected java.lang.String` | `getNodeTitle(Record node, int recordNum, ListGridField field)` Returns the title to show for a node in the tree column.
    `java.lang.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.
    `java.lang.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.
    `java.lang.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`.
    `java.lang.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.
    `java.lang.String` | `getOpenerImage()` The base filename of the opener icon for the folder node when 'showConnectors' is false for this TreeGrid. The opener icon is displayed beside the folder icon in the Tree column for folder nodes.
    `java.lang.String` | `getOpenIcon(TreeNode node)` Get the appropriate open/close opener icon for a node.
    `java.lang.String` | `getOpenIconSuffix()` If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
    `java.lang.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 `TreeGrid.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)`
    `java.lang.String` | `getParentAlreadyContainsChildMessage()` Message displayed when user attempts to drag a node into a parent that already contains a child of the same name.
    `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.
    `java.lang.String` | `getSelectedPaths()` Returns a snapshot of the current selection within this treeGrid as a `ListGridSelectedState` object. This object can be passed to `TreeGrid.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.
    `java.lang.String` | `getSelectionProperty()` If specified, the selection object for this list will use this property to mark records as selected.
    `java.lang.Boolean` | `getSeparateFolders()` If specified, this attribute will override `separateFolders` on the data for this treeGrid.
    `java.lang.String[]` | `getServerFilterFields()` When `keepParentsOnFilter` is enabled for `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.
    `java.lang.Boolean` | `getShowConnectors()` Should this treeGrid show connector lines illustrating the tree's hierarchy?
    `java.lang.Boolean` | `getShowCustomIconDrop()` Should folder nodes showing custom icons (set via the `customIconProperty`, default `icon`), show drop state images when the user is drop-hovering over the folder.
    `java.lang.Boolean` | `getShowCustomIconOpen()` Should folder nodes showing custom icons (set via the `customIconProperty`), show open state images when the folder is opened.
    `java.lang.Boolean` | `getShowDisabledSelectionCheckbox()` Should tree nodes show a disabled checkbox `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected?
    `java.lang.Boolean` | `getShowDropIcons()` If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon folder icon.
    `java.lang.Boolean` | `getShowFullConnectors()` If `showConnectors` is true, this property determines whether we should show vertical continuation lines for each level of indenting within the tree.
    `java.lang.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.
    `java.lang.Boolean` | `getShowOpenIcons()` If true, show a different icon for `open` folders than closed folders.
    `java.lang.Boolean` | `getShowPartialSelection()` Should partially selected parents be shown with special icon?
    `java.lang.Boolean` | `getShowRoot()` Specifies whether the root node should be displayed in the treeGrid.
    `java.lang.Boolean` | `getSortFoldersBeforeLeaves()` If specified, this attribute will override `sortFoldersBeforeLeaves` on the data for this treeGrid.
    `protected TreeGrid` | `getTestInstance()`
    `Tree` | `getTree()` Synonym for `getData()`
    `java.lang.String` | `getTreeFieldTitle()` Visible title for the tree column (field).
    `java.lang.String` | `getTreeRootValue()` For databound trees, use this attribute to supply a ${isc.DocUtils.linkForRef('ResultTree.rootValue')} for this component's generated data object.
    `java.lang.Boolean` | `getUseAllDataSourceFields()` If true, the set of fields given by the "default binding" (see `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.
    `java.lang.Boolean` | `isOverExtraIcon()` Returns true if the last event occurred over `extra icon` for the current node.
    `java.lang.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.
    `protected void` | `onInit()`
    `void` | `openFolder(TreeNode node)` Opens a folder.
    `void` | `recordDoubleClick()` Handle a doubleClick on a tree node - override of ListGrid stringMethod of same name.
    `void` | `setAlwaysShowOpener(java.lang.Boolean alwaysShowOpener)` If `showOpener` is true, should we display the opener icon for folders even if they have no children?
    `void` | `setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)` When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
    `void` | `setAnimateFolderMaxRows(java.lang.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.
    `void` | `setAnimateFolders(java.lang.Boolean animateFolders)` If true, when folders are opened / closed children will be animated into view.
    `void` | `setAnimateFolderSpeed(int animateFolderSpeed)` When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
    `void` | `setAnimateFolderTime(int animateFolderTime)` When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    `void` | `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"`.
    `void` | `setAutoPreserveOpenState(PreserveOpenState autoPreserveOpenState)` For dataBound treeGrids this specifies the `autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
    `void` | `setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)` Indicates whether records can be dropped into this listGrid.
    `void` | `setCanDragRecordsOut(java.lang.Boolean canDragRecordsOut)` Indicates whether records can be dragged from this listGrid and dropped elsewhere.
    `void` | `setCanDropOnLeaves(java.lang.Boolean canDropOnLeaves)` Whether drops are allowed on leaf nodes.
    `void` | `setCanReorderRecords(java.lang.Boolean canReorderRecords)` Indicates whether records can be reordered by dragging within this `ListGrid`.
    `void` | `setCanReparentNodes(java.lang.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.
    `void` | `setCanSelectAll(java.lang.Boolean canSelectAll)` This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
    `void` | `setCantDragIntoChildMessage(java.lang.String cantDragIntoChildMessage)` Message displayed when user attempts to drop a node into a child of itself.
    `void` | `setCantDragIntoSelfMessage(java.lang.String cantDragIntoSelfMessage)` Message displayed when user attempts to drop a dragged node onto itself.
    `void` | `setCascadeSelection(java.lang.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)`.
    `void` | `setClosedIconSuffix(java.lang.String closedIconSuffix)` This suffix will be appended to the `folderIcon` for closed folders.
    `void` | `setConnectorImage(java.lang.String connectorImage)` The base filename for connector icons shown when `showConnectors` is true.
    `void` | `setCreateDefaultTreeField(java.lang.Boolean createDefaultTreeField)` If no fields are specified, create a single field with `treeField` set to `true` to show the tree.
    `void` | `setCustomIconDropProperty(java.lang.String customIconDropProperty)` This property allows the developer to rename the `default node.showDropIcon` property.
    `void` | `setCustomIconOpenProperty(java.lang.String customIconOpenProperty)` This property allows the developer to rename the `default node.showOpenIcon` property.
    `void` | `setCustomIconProperty(java.lang.String customIconProperty)` This property allows the developer to rename the `default node.icon` property.
    `void` | `setCustomNodeIcon(Record node, java.lang.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.
    `void` | `setDataFetchMode(FetchMode dataFetchMode)` Mode of fetching records from server.
    `void` | `setDataProperties(Tree resultTreeProperties)` For databound TreeGrids, this attribute can be used to customize the ResultTree object created for this TreeGrid when data is fetched
    `static void` | `setDefaultProperties(TreeGrid treeGridProperties)` Class level method to set the default properties of this class.
    `void` | `setDisplayNodeType(DisplayNodeType displayNodeType)` Specifies the type of nodes displayed in the treeGrid.
    `void` | `setDropIconSuffix(java.lang.String dropIconSuffix)` If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
    `void` | `setExtraIconGap(int extraIconGap)` The amount of gap (in pixels) between the extraIcon (see `TreeGrid.getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
    `void` | `setFields(TreeGridField... fields)` An array of field objects, specifying the order, layout, dynamic calculation, and sorting behavior of each field in the treeGrid object.
    `void` | `setFolderIcon(java.lang.String folderIcon)` The URL of the base icon for all folder nodes in this treeGrid.
    `void` | `setIconSize(int iconSize)` The standard size (same height and width, in pixels) of node icons in this treeGrid.
    `void` | `setIndentRecordComponents(java.lang.Boolean indentRecordComponents)` For record components placed "within" the `treeField` column, should the component be indented to the position where a title would normally show?
    `void` | `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.
    `void` | `setKeepParentsOnFilter(java.lang.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.
    `void` | `setLeaveSelectionCheckboxGap(java.lang.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?
    `void` | `setLoadDataOnDemand(java.lang.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.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.tree.TreeGridLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setManyItemsImage(java.lang.String manyItemsImage)` The filename of the icon displayed use as the default drag tracker when for multiple files and/or folders are being dragged.
    `void` | `setNodeIcon(java.lang.String nodeIcon)` The filename of the default icon for all leaf nodes in this grid.
    `void` | `setOfflineNodeMessage(java.lang.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.
    `void` | `setOpenerIconHeight(java.lang.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.
    `void` | `setOpenerIconSize(java.lang.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`.
    `void` | `setOpenerIconWidth(java.lang.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.
    `void` | `setOpenerImage(java.lang.String openerImage)` The base filename of the opener icon for the folder node when 'showConnectors' is false for this TreeGrid. The opener icon is displayed beside the folder icon in the Tree column for folder nodes.
    `void` | `setOpenIconSuffix(java.lang.String openIconSuffix)` If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
    `void` | `setOpenState(java.lang.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 `TreeGrid.getOpenState()`.
    `void` | `setParentAlreadyContainsChildMessage(java.lang.String parentAlreadyContainsChildMessage)` Message displayed when user attempts to drag a node into a parent that already contains a child of the same name.
    `void` | `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.
    `void` | `setSelectedPaths(java.lang.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 `TreeGrid.getSelectedPaths()`.
    `void` | `setSelectionProperty(java.lang.String selectionProperty)` If specified, the selection object for this list will use this property to mark records as selected.
    `void` | `setSeparateFolders(java.lang.Boolean separateFolders)` If specified, this attribute will override `separateFolders` on the data for this treeGrid.
    `void` | `setServerFilterFields(java.lang.String... serverFilterFields)` When `keepParentsOnFilter` is enabled for `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.
    `void` | `setShowConnectors(java.lang.Boolean showConnectors)` Should this treeGrid show connector lines illustrating the tree's hierarchy?
    `void` | `setShowCustomIconDrop(java.lang.Boolean showCustomIconDrop)` Should folder nodes showing custom icons (set via the `customIconProperty`, default `icon`), show drop state images when the user is drop-hovering over the folder.
    `void` | `setShowCustomIconOpen(java.lang.Boolean showCustomIconOpen)` Should folder nodes showing custom icons (set via the `customIconProperty`), show open state images when the folder is opened.
    `void` | `setShowDisabledSelectionCheckbox(java.lang.Boolean showDisabledSelectionCheckbox)` Should tree nodes show a disabled checkbox `selectionAppearance`:"checkbox" is set on the treegrid, and a node can't be selected?
    `void` | `setShowDropIcons(java.lang.Boolean showDropIcons)` If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon folder icon.
    `void` | `setShowFullConnectors(java.lang.Boolean showFullConnectors)` If `showConnectors` is true, this property determines whether we should show vertical continuation lines for each level of indenting within the tree.
    `void` | `setShowOpener(java.lang.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.
    `void` | `setShowOpenIcons(java.lang.Boolean showOpenIcons)` If true, show a different icon for `open` folders than closed folders.
    `void` | `setShowPartialSelection(java.lang.Boolean showPartialSelection)` Should partially selected parents be shown with special icon?
    `void` | `setShowRoot(java.lang.Boolean showRoot)` Specifies whether the root node should be displayed in the treeGrid.
    `void` | `setSortFoldersBeforeLeaves(java.lang.Boolean sortFoldersBeforeLeaves)` If specified, this attribute will override `sortFoldersBeforeLeaves` on the data for this treeGrid.
    `void` | `setTreeFieldTitle(java.lang.String treeFieldTitle)` Visible title for the tree column (field).
    `void` | `setTreeRootValue(java.lang.Integer treeRootValue)` For databound trees, use this attribute to supply a ${isc.DocUtils.linkForRef('ResultTree.rootValue')} for this component's generated data object.
    `void` | `setTreeRootValue(java.lang.String treeRootValue)` For databound trees, use this attribute to supply a ${isc.DocUtils.linkForRef('ResultTree.rootValue')} for this component's generated data object.
    `void` | `setUseAllDataSourceFields(java.lang.Boolean useAllDataSourceFields)` If true, the set of fields given by the "default binding" (see `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(TreeNode node)` Opens the folder specified by node if it's closed, and closes it if it's open.
    `void` | `transferNodes(TreeNode[] nodes, TreeNode folder, java.lang.Integer index, Canvas sourceWidget)` Transfer a list of `TreeNode`s from another component (does not have to be a databound component) into this component.
    `void` | `transferNodes(TreeNode[] nodes, TreeNode folder, java.lang.Integer index, Canvas sourceWidget, java.lang.String callback)` Transfer a list of `TreeNode`s from another component (does not have to be a databound component) into this component.
    `java.lang.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, addCellHoverHandler, addCellMouseDownHandler, addCellMouseUpHandler, addCellOutHandler, addCellOverHandler, addCellSavedHandler, addCellSelectionChangedHandler, addCellValueHoverHandler, addData, addData, addData, addDataArrivedHandler, addDragCompleteHandler, addDrawAreaChangedHandler, addDropCompleteHandler, addEditCompleteHandler, addEditFailedHandler, addEditorEnterHandler, addEditorExitHandler, addEmbeddedComponent, addEmbeddedComponent, addEmbeddedComponent, addEmbeddedComponent, addFetchDataHandler, addFieldStateChangedHandler, addFilterEditorSubmitHandler, addFormulaField, addFormulaUpdatedHandler, addGroupByCompleteHandler, addGroupByHandler, addGroupStateChangedHandler, addHeaderClickHandler, addHeaderDoubleClickHandler, addHeaderHoverHandler, addHilitesChangedHandler, addRecordClickHandler, addRecordCollapseHandler, addRecordDoubleClickHandler, addRecordExpandHandler, addRemoveRecordClickHandler, addRowContextClickHandler, addRowEditorEnterHandler, addRowEditorExitHandler, addRowHoverHandler, addRowMouseDownHandler, addRowMouseUpHandler, addRowOutHandler, addRowOverHandler, addSelectionChangedHandler, addSelectionUpdatedHandler, addSort, addSortChangedHandler, addSorterClickHandler, addSorterContextClickHandler, addSummaryField, addViewStateChangedHandler, anySelected, applyCellData, applyRecordData, autoFitField, autoFitFields, autoFitFields, cancelEditing, canEditCell, canExpandRecord, canSelectCell, canSelectRecord, cellHasChanges, cellHasErrors, cellHasErrors, cellValueHoverHTML, cellValueIsClipped, chartData, chartData, chartData, chartData, chartData, clearCriteria, clearCriteria, clearCriteria, clearEditValue, clearFieldError, clearFieldError, clearRowErrors, clearSort, closeRecord, collapseRecord, collapseRecords, configureGrouping, createRecordComponent, deselectAllRecords, deselectRange, deselectRecord, deselectRecord, deselectRecords, deselectRecords, disableHilite, disableHiliting, discardAllEdits, discardAllEdits, discardAllEdits, discardEdits, discardEdits, displayHeaderContextMenu, editFields, editHilites, enableHilite, enableHilite, enableHiliting, enableHiliting, endEditing, expandRecord, expandRecords, exportData, exportData, fetchRelatedData, fetchRelatedData, fetchRelatedData, fetchRelatedData, fetchRelatedData, fieldIsVisible, filterByEditor, filterData, find, findAll, findIndex, findNextIndex, findNextIndex, focusInCell, focusInFilterEditor, focusInFilterEditor, focusInRow, freezeField, freezeField, freezeField, freezeField, freezeFields, freezeFields, getAddDropValues, getAddFormulaFieldText, getAddOperation, getAddSummaryFieldText, getAdvancedFieldPickerThreshold, getAllEditRows, getAllFields, getAllowFilterExpressions, getAllowRowSpanning, getAlternateBodyStyleName, getAlternateFieldFrequency, getAlternateFieldStyles, getAlternateRecordFrequency, getAlternateRecordStyles, getAlwaysShowEditors, getAnimateRemoveRecord, getAnimateRemoveSpeed, getAnimateRemoveTime, getAnimateRollOver, getAnimateRollUnder, getAnimateSelection, getAnimateSelectionUnder, getApplyFormulaAfterSummary, getApplyRowNumberStyle, getArrowKeyAction, getAsynchGroupingPrompt, getAutoComplete, getAutoFetchAsFilter, getAutoFetchData, getAutoFetchDisplayMap, getAutoFitAllText, getAutoFitClipFields, getAutoFitData, getAutoFitExpandField, getAutoFitExtraRecords, getAutoFitFieldsFillViewport, getAutoFitFieldText, getAutoFitFieldWidths, getAutoFitHeaderHeights, getAutoFitIconFields, getAutoFitMaxColumns, getAutoFitMaxHeight, getAutoFitMaxRecords, getAutoFitMaxWidth, getAutoFitWidthApproach, getAutoSaveEdits, getAutoSizeHeaderSpans, getBackgroundComponent, getBadFormulaResultValue, getBaseStyle, getBaseStyle, getBody, getBodyBackgroundColor, getBodyOverflow, getBodyScrollLeft, getBodyScrollTop, getBodyStyleName, getBooleanBaseStyle, getBooleanFalseImage, getBooleanImageHeight, getBooleanImageWidth, getBooleanPartialImage, getBooleanTrueImage, getCanAddFormulaFields, getCanAddSummaryFields, getCanAutoFitFields, getCancelEditingConfirmationMessage, getCanCollapseGroup, getCanDragSelect, getCanDragSelectText, getCanDropInEmptyArea, getCanEdit, getCanEditFieldAttribute, getCanEditHilites, getCanEditTitles, getCanExpandMultipleRecords, getCanExpandRecordProperty, getCanExpandRecords, getCanFocusInEmptyGrid, getCanFreezeFields, getCanGroupBy, getCanHover, getCanMultiGroup, getCanMultiSort, getCanPickFields, getCanPickOmittedFields, getCanRemoveRecords, getCanReorderFields, getCanResizeFields, getCanSelectCells, getCanSelectGroups, getCanSort, getCanTabToHeader, getCellContextMenu, getCellCSSText, getCellErrors, getCellHeight, getCellHoverComponent, getCellPadding, getCellPageRect, getCellRowSpan, getCellSelection, getCellStartRow, getCellStyle, getChartConstructor, getChartType, getCheckboxFieldFalseImage, getCheckboxFieldImageHeight, getCheckboxFieldImageWidth, getCheckboxFieldPartialImage, getCheckboxFieldTrueImage, getChildExpansionMode, getClearAllSortingText, getClearFilterText, getClearSortFieldText, getClipHeaderTitles, getCollapseGroupOnRowClick, getColumnLeft, getColumnPageLeft, getColumnWidth, getConfigureGroupingText, getConfigureSortText, getConfirmCancelEditing, getConfirmDiscardEdits, getConfirmDiscardEditsMessage, getCriteria, getCurrentExpansionComponent, getCurrentExpansionComponent, getDataAsJSList, getDataAsRecordList, getDataPageSize, getDataSource, getDateFormatter, getDatetimeFormatter, getDefaultFields, getDefaultFieldWidth, getDefaultFormattedFieldValue, getDefaultFormattedFieldValue, getDefaultFormattedFieldValue, getDefaultFormattedValue, getDeferRemoval, getDetailDS, getDetailField, getDiscardEditsOnHideField, getDiscardEditsSaveButtonTitle, getDisplayValue, getDisplayValue, getDisplayValue, getDisplayValue, getDisplayValue, getDragData, getDragDataAction, getDragTrackerMode, getDragTrackerStyle, getDrawAheadRatio, getDrawAllMaxCells, getDrawArea, getDrawnRowHeight, getDrawnRows, getDropCriteriaOnHideField, getDropValues, getDuplicateDragMessage, getEditByCell, getEditCol, getEditedCell, getEditedCell, getEditedCell, getEditedCell, getEditedRecord, getEditEvent, getEditFailedBaseStyle, getEditFailedCSSText, getEditFormItem, getEditFormItem, getEditFormulaFieldText, getEditOnF2Keypress, getEditOnFocus, getEditPendingBaseStyle, getEditPendingCSSText, getEditProxyConstructor, getEditRow, getEditSummaryFieldText, getEditValue, getEditValue, getEditValueAsBoolean, getEditValueAsDate, getEditValueAsFloat, getEditValueAsInt, getEditValueAsRecord, getEditValueAsRecordArray, getEditValueAsString, getEditValues, getEditValues, getEmptyCellValue, getEmptyMessage, getEmptyMessageStyle, getEnforceVClipping, getEnterKeyEditAction, getEnumCriteriaAsInitialValues, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getEscapeKeyEditAction, getEventColumn, getEventColumn, getExpansionCanEdit, getExpansionComponent, getExpansionComponentPoolingMode, getExpansionDetailField, getExpansionDetailRelated, getExpansionDetails, getExpansionEditor, getExpansionEditorCollapseOnSave, getExpansionEditorSaveButton, getExpansionEditorSaveButtonTitle, getExpansionEditorSaveDialogPrompt, getExpansionEditorShowSaveDialog, getExpansionField, getExpansionFieldFalseImage, getExpansionFieldImageHeight, getExpansionFieldImageWidth, getExpansionFieldTrueImage, getExpansionLayout, getExpansionMode, getExpansionRelated, getExportAll, getExportAlternateRowBGColor, getExportBGColor, getExportColumnBGColor, getExportDefaultBGColor, getExportFieldAlignments, getExportFields, getExportFieldWidths, getExportHeaderHeights, getExportRawValues, getExportRowBGColor, getExportWidthScale, getExportWrapHeaderTitles, getFetchDelay, getFetchOperation, getField, getField, getFieldName, getFieldNum, getFieldNum, getFieldPickerFieldProperties, getFieldPickerShowSampleValues, getFieldPickerWindow, getFields, getFieldState, getFieldTitle, getFieldTitle, getFieldVisibilitySubmenuTitle, getFieldWidth, getFieldWidth, getFilterButtonPrompt, getFilterButtonProperties, getFilterByCell, getFilterEditor, getFilterEditorCriteria, getFilterEditorCriteria, getFilterEditorCriteriaAsAdvancedCriteria, getFilterEditorHeight, getFilterEditorProperties, getFilterLocalData, getFilterOnKeypress, getFixedFieldWidths, getFixedRecordHeights, getFocusRow, getFormulaBuilderSpanTitleSeparator, getFormulaFieldValue, getFreezeFieldText, getFreezeOnLeftText, getFreezeOnRightText, getFrozenBaseStyle, getFrozenHeaderBaseStyle, getFrozenHeaderTitleStyle, getGenerateClickOnEnter, getGenerateClickOnSpace, getGenerateDoubleClickOnEnter, getGenerateDoubleClickOnSpace, getGridComponents, getGridRenderer, getGridSummary, getGridSummaryData, getGridSummaryRecordProperty, getGroupByAsyncThreshold, getGroupByFields, getGroupByFieldSummaries, getGroupByMaxRecords, getGroupByText, getGroupIcon, getGroupIconSize, getGroupIndentSize, getGroupLeadingIndent, getGroupNodeBaseStyle, getGroupNodeStyle, getGroupSortDirection, getGroupState, getGroupSummaryData, getGroupSummaryRecordProperty, getGroupSummaryStyle, getGroupTitleColumnProperties, getGroupTitleField, getGroupTree, getGroupTreeSelection, getGroupTreeSelection, getGroupTreeSelection, getHeader, getHeaderAutoFitEvent, getHeaderBackgroundColor, getHeaderBarStyle, getHeaderBaseStyle, getHeaderButtonProperties, getHeaderContextMenu, getHeaderContextMenuItems, getHeaderHeight, getHeaderHoverAlign, getHeaderHoverHeight, getHeaderHoverOpacity, getHeaderHoverStyle, getHeaderHoverVAlign, getHeaderHoverWidth, getHeaderHoverWrap, getHeaderMenuButton, getHeaderMenuButtonHeight, getHeaderMenuButtonIcon, getHeaderMenuButtonIconHeight, getHeaderMenuButtonIconWidth, getHeaderMenuButtonWidth, getHeaderSpan, getHeaderSpanContextMenuItems, getHeaderSpanHeight, getHeaderTitleStyle, getHiliteCanReplaceValue, getHiliteEditorSpanTitleSeparator, getHiliteHTMLAfterFormat, getHiliteIconHeight, getHiliteIconLeftPadding, getHiliteIconPosition, getHiliteIconRightPadding, getHiliteIcons, getHiliteIconSize, getHiliteIconWidth, getHiliteProperty, getHiliteReplaceValueFieldTitle, getHiliteRowOnFocus, getHilites, getHiliteState, getHoverMode, getHoverStyle, getIconPadding, getImageSize, getIncludeHilitesInSummaryFields, getIncludeInSummaryProperty, getInitialCriteria, getInitialSort, getInstantScrollTrackRedraw, getInvalidSummaryValue, getIsGrouped, getIsSeparatorProperty, getLeaveScrollbarGap, getLinkTextProperty, getListEndEditAction, getLoadingDataMessage, getLoadingDataMessageStyle, getLoadingMessage, getLocateColumnsBy, getLocateRowsBy, getLongTextEditorThreshold, getLongTextEditorType, getMaxExpandedRecords, getMaxExpandedRecordsPrompt, getMinFieldWidth, getMissingSummaryFieldValue, getModalEditing, getNavigateOnTab, getNeverValidate, getNormalBaseStyle, getNormalCellHeight, getNullGroupTitle, getOfflineMessageStyle, getOriginalRecordList, getOriginalResultSet, getOriginBaseStyle, getPoolComponentsPerColumn, getPreventDuplicates, getPrintAutoFit, getPrintBaseStyle, getPrintBooleanBaseStyle, getPrintBooleanFalseImage, getPrintBooleanPartialImage, getPrintBooleanTrueImage, getPrintCheckboxFieldFalseImage, getPrintCheckboxFieldPartialImage, getPrintCheckboxFieldTrueImage, getPrintHeaderStyle, getPrintMaxRows, getPrintWrapCells, getProgressiveLoading, getQuickDrawAheadRatio, getRecordBaseStyleProperty, getRecordCanRemoveProperty, getRecordCanSelectProperty, getRecordComponent, getRecordComponent, getRecordComponentHeight, getRecordComponentPoolingMode, getRecordComponentPosition, getRecordDetailDSProperty, getRecordDropPosition, getRecordEditProperty, getRecordEnabledProperty, getRecordIndex, getRecordIndex, getRecordList, getRecordSummaryBaseStyle, getRelatedDataSource, getRemovedCSSText, getRemoveFieldDefaults, getRemoveFieldProperties, getRemoveFieldTitle, getRemoveIcon, getRemoveIconSize, getRemoveOperation, getReselectOnUpdate, getReselectOnUpdateNotifications, getResizeFieldsInRealTime, getResultSet, getReverseRTLAlign, getRollOverCanvas, getRollUnderCanvas, getRowEndEditAction, getRowErrors, getRowHeight, getRowNum, getRowNumberField, getRowNumberStart, getRowNumberStyle, getRowPageTop, getRowSpan, getRowSpanEditMode, getRowSpanSelectionMode, getRowTop, getSaveByCell, getSaveLocally, getSaveRequestProperties, getScreenReaderCellSeparator, getScreenReaderRowSeparator, getScrollRedrawDelay, getScrollToCellXPosition, getScrollToCellYPosition, getScrollWheelRedrawDelay, getSelectedCellData, getSelectedRecords, getSelectedRecords, getSelectedState, getSelectHeaderOnSort, getSelection, getSelection, getSelectionAppearance, getSelectionType, getSelectOnEdit, getShowAllColumns, getShowAllRecords, getShowAsynchGroupingPrompt, getShowBackgroundComponents, getShowCellContextMenus, getShowClippedHeaderTitlesOnHover, getShowClippedValuesOnHover, getShowCollapsedGroupSummary, getShowComplexFields, getShowDetailFields, getShowEmptyMessage, getShowErrorIcons, getShowExpansionEditorSaveButton, getShowFilterEditor, getShowGridSummary, getShowGroupSummary, getShowGroupSummaryInHeader, getShowGroupTitleColumn, getShowHeader, getShowHeaderContextMenu, getShowHeaderMenuButton, getShowHeaderSpanTitlesInFormulaBuilder, getShowHeaderSpanTitlesInHiliteEditor, getShowHeaderSpanTitlesInSortEditor, getShowHiddenFields, getShowHilitesInGroupSummary, getShowHover, getShowHoverComponents, getShowRecordComponents, getShowRecordComponentsByCell, getShowRollOver, getShowRollOverCanvas, getShowRollUnderCanvas, getShowRowNumbers, getShowSelectedStyle, getShowSelectionCanvas, getShowSelectionUnderCanvas, getShowSortArrow, getShowSortNumerals, getShowTreeColumnPicker, getShrinkForFreeze, getSingleCellValueProperty, getSkinImgDir, getSort, getSortAscendingImage, getSortByGroupFirst, getSortDescendingImage, getSortDirection, getSortEditorSpanTitleSeparator, getSorterButtonTitle, getSortField, getSortFieldAscendingText, getSortFieldCount, getSortFieldDescendingText, getSortNumeralHTML, getSortNumeralStyle, getSortSpecifier, getSortState, getSpanContextMenu, getStopOnErrors, getStyleName, getSummaryFieldValue, getSummaryRow, getSummaryRowCriteria, getSummaryRowDataSource, getSummaryRowFetchRequestProperties, getSummaryRowHeight, getSummaryRowStyle, getTallBaseStyle, getTitleField, getTitleFieldValue, getToggleFreezeText, getTotalRows, getTrackerImage, getUnfreezeFieldText, getUngroupText, getUnremoveIcon, getUpdateOperation, getUseAdvancedFieldPicker, getUseCellRollOvers, getUseCopyPasteShortcuts, getUseFlatFields, getUseRemoteValidators, getUseRowSpanStyling, getValidateByCell, getValidateOnChange, getValueIcon, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getViewState, getVirtualScrolling, getVisibleRows, getWaitForSave, getWarnOnRemoval, getWarnOnRemovalMessage, getWarnOnUnmappedValueFieldChange, getWrapCells, getWrapHeaderTitles, groupBy, hasChanges, hasErrors, headerHoverHTML, headerTitleClipped, hideField, hideField, hideFields, hideFields, hideFields, hideFields, invalidateCache, invalidateRecordComponents, isCheckboxField, isExpanded, isExpansionField, isGrouped, isGroupNode, isPartiallySelected, isRowNumberField, isSelected, isSortField, markForRedraw, markForRedraw, markRecordRemoved, markRecordsRemoved, markRecordsRemoved, markRecordsRemoved, markSelectionRemoved, onInit_ListGrid, openRecordDetailGrid, openRecordEditor, preloadImages, recalculateGridSummary, recalculateSummaries, recalculateSummaries, recalculateSummaries, recordClick, recordMarkedAsRemoved, refreshCell, refreshCell, refreshCellStyle, refreshFields, refreshRecordComponent, refreshRecordComponent, refreshRow, removeData, removeData, removeData, removeEmbeddedComponent, removeEmbeddedComponent, removeEmbeddedComponent, removeRecordClick, removeSelectedData, removeSelectedData, removeSelectedData, reorderField, reorderFields, resizeField, resort, rowClick, rowClick, rowDoubleClick, rowDoubleClick, 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, setAllowFilterExpressions, setAllowRowSpanning, setAlternateBodyStyleName, setAlternateFieldFrequency, setAlternateFieldStyles, setAlternateRecordFrequency, setAlternateRecordStyles, setAlwaysShowEditors, setAnimateRemoveRecord, setAnimateRemoveSpeed, setAnimateRemoveTime, setAnimateRollOver, setAnimateRollUnder, setAnimateSelection, setAnimateSelectionUnder, setApplyFormulaAfterSummary, setApplyRowNumberStyle, setArrowKeyAction, setAsynchGroupingPrompt, setAutoComplete, setAutoFetchAsFilter, setAutoFetchData, setAutoFetchDisplayMap, setAutoFitAllText, setAutoFitClipFields, setAutoFitData, setAutoFitExpandField, setAutoFitExtraRecords, setAutoFitFieldsFillViewport, setAutoFitFieldText, setAutoFitFieldWidths, setAutoFitHeaderHeights, setAutoFitIconFields, setAutoFitMaxColumns, setAutoFitMaxHeight, setAutoFitMaxRecords, setAutoFitMaxWidth, setAutoFitWidth, setAutoFitWidthApproach, setAutoSaveEdits, setAutoSizeHeaderSpans, setBadFormulaResultValue, setBaseStyle, setBodyBackgroundColor, setBodyOverflow, setBodyStyleName, setBooleanBaseStyle, setBooleanFalseImage, setBooleanImageHeight, setBooleanImageWidth, setBooleanPartialImage, setBooleanTrueImage, setCanAddFormulaFields, setCanAddSummaryFields, setCanAutoFitFields, setCancelEditingConfirmationMessage, setCanCollapseGroup, setCanDragSelect, setCanDragSelectText, setCanDropInEmptyArea, setCanEdit, setCanEditFieldAttribute, setCanEditHilites, setCanEditTitles, setCanExpandMultipleRecords, setCanExpandRecordProperty, setCanExpandRecords, setCanFocusInEmptyGrid, setCanFreezeFields, setCanGroupBy, setCanHover, setCanMultiGroup, setCanMultiSort, setCanPickFields, setCanPickOmittedFields, setCanRemoveRecords, setCanReorderFields, setCanResizeFields, setCanSelectCells, setCanSelectGroups, setCanSort, setCanTabToHeader, setCellFormatter, setCellHeight, setCellPadding, setChartConstructor, setChartType, setCheckboxFieldFalseImage, setCheckboxFieldImageHeight, setCheckboxFieldImageWidth, setCheckboxFieldPartialImage, setCheckboxFieldProperties, setCheckboxFieldTrueImage, setChildExpansionMode, setClearAllSortingText, setClearFilterText, setClearSortFieldText, setClipHeaderTitles, setCollapseGroupOnRowClick, setConfigureGroupingText, setConfigureSortText, setConfirmCancelEditing, setConfirmDiscardEdits, setConfirmDiscardEditsMessage, setCriteria, setData, setData, setData, setDataPageSize, setDataProperties, setDataSource, setDataSource, setDataSource, setDateFormatter, setDateInputFormat, setDatetimeFormatter, setDefaultFields, setDefaultProperties, setDeferRemoval, setDetailDS, setDetailDS, setDetailField, setDiscardEditsOnHideField, setDiscardEditsSaveButtonTitle, setDontAutoDestroyComponent, setDragDataAction, setDragTrackerIconCustomizer, setDragTrackerMode, setDragTrackerStyle, setDragTrackerTitleCustomizer, setDrawAheadRatio, setDrawAllMaxCells, setDropCriteriaOnHideField, setDropValues, setDuplicateDragMessage, setEditByCell, setEditEvent, setEditFailedBaseStyle, setEditFailedCSSText, setEditFormulaFieldText, setEditOnF2Keypress, setEditOnFocus, setEditorCustomizer, setEditorValueMap, setEditorValueMap, setEditPendingBaseStyle, setEditPendingCSSText, setEditProxyConstructor, setEditSummaryFieldText, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValue, setEditValues, setEmptyCellValue, setEmptyMessage, setEmptyMessageStyle, setEnforceVClipping, setEnterKeyEditAction, setEnumCriteriaAsInitialValues, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setEscapeKeyEditAction, setExpansionCanEdit, setExpansionComponentPoolingMode, setExpansionEditorSaveDialogPrompt, setExpansionEditorShowSaveDialog, setExpansionFieldFalseImage, setExpansionFieldImageHeight, setExpansionFieldImageWidth, setExpansionFieldTrueImage, setExpansionMode, setExportAll, setExportAlternateRowBGColor, setExportDefaultBGColor, setExportFieldAlignments, setExportFields, setExportFieldWidths, setExportHeaderHeights, setExportRawValues, setExportWidthScale, setExportWrapHeaderTitles, setFastCellUpdates, setFetchDelay, setFetchOperation, setFieldButtonProperties, setFieldCellIcon, setFieldError, setFieldError, setFieldHeaderBaseStyle, setFieldHeaderTitleStyle, setFieldIcon, setFieldPickerFieldProperties, setFieldPickerShowSampleValues, setFieldProperties, setFields, setFieldState, setFieldTitle, setFieldTitle, setFieldVisibilitySubmenuTitle, setFilterButtonPrompt, setFilterButtonProperties, setFilterByCell, setFilterEditorCriteria, setFilterEditorHeight, setFilterEditorProperties, setFilterEditorProperties, setFilterLocalData, setFilterOnKeypress, setFixedFieldWidths, setFixedRecordHeights, setFormulaBuilderSpanTitleSeparator, setFreezeFieldText, setFreezeOnLeftText, setFreezeOnRightText, setFrozenBaseStyle, setFrozenHeaderBaseStyle, setFrozenHeaderTitleStyle, setGenerateClickOnEnter, setGenerateClickOnSpace, setGenerateDoubleClickOnEnter, setGenerateDoubleClickOnSpace, setGridComponents, setGridComponents, setGridSummaryRecordProperty, setGroupByAsyncThreshold, setGroupByField, setGroupByField, setGroupByFieldSummaries, setGroupByMaxRecords, setGroupByText, setGroupIcon, setGroupIconSize, setGroupIndentSize, setGroupLeadingIndent, setGroupNodeBaseStyle, setGroupNodeStyle, setGroupSortDirection, setGroupStartOpen, setGroupStartOpen, setGroupState, setGroupSummaryRecordProperty, setGroupSummaryStyle, setGroupTitleColumnProperties, setGroupTitleField, setHeaderAutoFitEvent, setHeaderBackgroundColor, setHeaderBarStyle, setHeaderBaseStyle, setHeaderButtonProperties, setHeaderHeight, setHeaderHoverAlign, setHeaderHoverFormatter, setHeaderHoverHeight, setHeaderHoverOpacity, setHeaderHoverStyle, setHeaderHoverVAlign, setHeaderHoverWidth, setHeaderHoverWrap, setHeaderMenuButtonHeight, setHeaderMenuButtonIcon, setHeaderMenuButtonIconHeight, setHeaderMenuButtonIconWidth, setHeaderMenuButtonWidth, setHeaderSpanBaseStyle, setHeaderSpanButtonProperties, setHeaderSpanHeaderTitle, setHeaderSpanHeight, setHeaderSpans, setHeaderSpanTitle, setHeaderSpanTitleStyle, setHeaderTitleStyle, setHiliteCanReplaceValue, setHiliteEditorSpanTitleSeparator, setHiliteHTMLAfterFormat, setHiliteIconHeight, setHiliteIconLeftPadding, setHiliteIconPosition, setHiliteIconRightPadding, setHiliteIcons, setHiliteIconSize, setHiliteIconWidth, setHiliteProperty, setHiliteReplaceValueFieldTitle, setHiliteRowOnFocus, setHilites, setHiliteState, setHoverCustomizer, setHoverMode, setHoverStyle, setIconPadding, setImageSize, setIncludeHilitesInSummaryFields, setIncludeInSummaryProperty, setInitialCriteria, setInitialSort, setInstantScrollTrackRedraw, setInvalidSummaryValue, setIsSeparatorProperty, setLeaveHeaderMenuButtonSpace, setLeaveScrollbarGap, setLinkTextProperty, setListEndEditAction, setLoadingDataMessage, setLoadingDataMessageStyle, setLoadingMessage, setLocateColumnsBy, setLocateRowsBy, setLogicalStructure, setLongTextEditorThreshold, setLongTextEditorType, setMaxExpandedRecords, setMaxExpandedRecordsPrompt, setMinFieldWidth, setMissingSummaryFieldValue, setModalEditing, setNavigateOnTab, setNeverValidate, setNormalBaseStyle, setNormalCellHeight, setNullGroupTitle, setOfflineMessageStyle, setOriginBaseStyle, setPoolComponentsPerColumn, setPreventDuplicates, setPrintAutoFit, setPrintBaseStyle, setPrintBooleanBaseStyle, setPrintBooleanFalseImage, setPrintBooleanPartialImage, setPrintBooleanTrueImage, setPrintCheckboxFieldFalseImage, setPrintCheckboxFieldPartialImage, setPrintCheckboxFieldTrueImage, setPrintHeaderStyle, setPrintMaxRows, setPrintWrapCells, setProgressiveLoading, setQuickDrawAheadRatio, setRecordBaseStyleProperty, setRecordCanRemoveProperty, setRecordCanSelectProperty, setRecordComponentHeight, setRecordComponentPoolingMode, setRecordComponentPosition, setRecordDetailDSProperty, setRecordEditProperty, setRecordEnabledProperty, setRecords, setRecordSummaryBaseStyle, setRemovedCSSText, setRemoveFieldProperties, setRemoveFieldTitle, setRemoveIcon, setRemoveIconSize, setRemoveOperation, setReselectOnUpdate, setReselectOnUpdateNotifications, setResizeFieldsInRealTime, setReverseRTLAlign, setRollUnderCanvasProperties, setRowEndEditAction, setRowErrors, setRowErrors, setRowNumberFieldProperties, setRowNumberStart, setRowNumberStyle, setRowSpanEditMode, setRowSpanSelectionMode, setSaveByCell, setSaveLocally, setSaveRequestProperties, setScreenReaderCellSeparator, setScreenReaderRowSeparator, setScrollRedrawDelay, setScrollToCellXPosition, setScrollToCellYPosition, setScrollWheelRedrawDelay, setSelectedState, setSelectHeaderOnSort, setSelectionAppearance, setSelectionCanvasProperties, setSelectionType, setSelectionUnderCanvasProperties, setSelectOnEdit, setShowAllColumns, setShowAllRecords, setShowAsynchGroupingPrompt, setShowBackgroundComponents, setShowCellContextMenus, setShowClippedHeaderTitlesOnHover, setShowClippedValuesOnHover, setShowCollapsedGroupSummary, setShowComplexFields, setShowDetailFields, setShowEmptyMessage, setShowErrorIcons, setShowFilterEditor, setShowGridSummary, setShowGroupSummary, setShowGroupSummaryInHeader, setShowGroupTitleColumn, setShowHeader, setShowHeaderContextMenu, setShowHeaderMenuButton, setShowHeaderSpanTitlesInFormulaBuilder, setShowHeaderSpanTitlesInHiliteEditor, setShowHeaderSpanTitlesInSortEditor, setShowHiddenFields, setShowHilitesInGroupSummary, setShowHover, setShowHoverComponents, setShowRecordComponents, setShowRecordComponentsByCell, setShowRollOver, setShowRollOverCanvas, setShowRollUnderCanvas, setShowRowNumbers, setShowSelectedStyle, setShowSelectionCanvas, setShowSelectionUnderCanvas, setShowSortArrow, setShowSortNumerals, setShowTreeColumnPicker, setShrinkForFreeze, setSingleCellValueProperty, setSkinImgDir, setSort, setSortAscendingImage, setSortByGroupFirst, setSortDescendingImage, setSortDirection, setSortEditorSpanTitleSeparator, setSorterButtonTitle, setSortField, setSortField, setSortField, setSortFieldAscendingText, setSortFieldDescendingText, setSortNumeralStyle, setSortState, setStopOnErrors, setStyleName, setSummaryRowCriteria, setSummaryRowDataSource, setSummaryRowFetchRequestProperties, setSummaryRowHeight, setSummaryRowStyle, setTallBaseStyle, setTitleField, setTrackerImage, setUnfreezeFieldText, setUngroupText, setUnremoveIcon, setUpdateOperation, setUseAdvancedFieldPicker, setUseCellRollOvers, setUseCopyPasteShortcuts, setUseFlatFields, setUseRemoteValidators, setUseRowSpanStyling, setValidateByCell, setValidateOnChange, setValueIconHeight, setValueIconLeftPadding, setValueIconRightPadding, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setViewState, setVirtualScrolling, setWaitForSave, setWarnOnRemoval, setWarnOnRemovalMessage, setWarnOnUnmappedValueFieldChange, setWrapCells, setWrapHeaderTitles, shouldIncludeHiliteInSummaryField, showField, showField, showFields, showFields, showFields, showFields, showRecordComponent, sort, sort, sort, sort, startEditing, startEditing, startEditing, startEditing, startEditingNew, startEditingNew, startEditingNew, stopHover, summaryUpdated, toggleSort, 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, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersMargin, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

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

      `addChild, addChild, addChild, addChild, addChild, 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, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, 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, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getTabIndex, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint`

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

      `addDrawHandler, applyFactoryProperties, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, 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, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, 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`

    - ### 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, unsinkEvents`

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

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

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

      `fireEvent`

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

      `getOrCreateJsObj`

- - ### Constructor Detail

    - #### TreeGrid

          public TreeGrid()

    - #### TreeGrid

          public TreeGrid(JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static TreeGrid getOrCreateRef(JavaScriptObject jsObj)

    - #### getTestInstance

          protected TreeGrid getTestInstance()

      Overrides:
        `getTestInstance` in class `ListGrid`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.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.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.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.
      See Also:
        `AutoChildUsage`

    - #### create

          protected JavaScriptObject create()

      Overrides:
        `create` in class `ListGrid`

    - #### setAlwaysShowOpener

          public void setAlwaysShowOpener(java.lang.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` - Default value is false

    - #### getAlwaysShowOpener

          public java.lang.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:
        Boolean

    - #### setAnimateFolderEffect

          public void 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` - Default value is null

    - #### 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:
        AnimationAcceleration

    - #### setAnimateFolderMaxRows

          public void setAnimateFolderMaxRows(java.lang.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` - Default value is null
      See Also:
        `getAnimateFolderMaxRows()`

    - #### getAnimateFolderMaxRows

          public java.lang.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.
      See Also:
        `getAnimateFolderMaxRows()`

    - #### setAnimateFolders

          public void setAnimateFolders(java.lang.Boolean animateFolders)

      If true, when folders are opened / closed children will be animated into view.
      Overrides:
        `setAnimateFolders` in class `ListGrid`
      Parameters:
        `animateFolders` - Default value is true
      See Also:
        Tree Folders Example

    - #### getAnimateFolders

          public java.lang.Boolean getAnimateFolders()

      If true, when folders are opened / closed children will be animated into view.
      Overrides:
        `getAnimateFolders` in class `ListGrid`
      Returns:
        Boolean
      See Also:
        Tree Folders Example

    - #### setAnimateFolderSpeed

          public void 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` - Default value is 3000
      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:
        int
      See Also:
        `getAnimateFolderTime()`, Tree Folders Example

    - #### setAnimateFolderTime

          public void 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` - Default value is 100
      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:
        int
      See Also:
        `getAnimateFolderSpeed()`

    - #### setAutoFetchTextMatchStyle

          public void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)
                                          throws java.lang.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"`. See `autoFetchTextMatchStyle` for details.
      Specified by:
        `setAutoFetchTextMatchStyle` in interface `DataBoundComponent`
      Overrides:
        `setAutoFetchTextMatchStyle` in class `ListGrid`
      Parameters:
        `autoFetchTextMatchStyle` - Default value is "exact"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### 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"`. See `autoFetchTextMatchStyle` for details.
      Specified by:
        `getAutoFetchTextMatchStyle` in interface `DataBoundComponent`
      Overrides:
        `getAutoFetchTextMatchStyle` in class `ListGrid`
      Returns:
        TextMatchStyle

    - #### setAutoPreserveOpenState

          public void setAutoPreserveOpenState(PreserveOpenState autoPreserveOpenState)
                                        throws java.lang.IllegalStateException

      For dataBound treeGrids this specifies the `autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
      Parameters:
        `autoPreserveOpenState` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoPreserveOpenState

          public PreserveOpenState getAutoPreserveOpenState()

      For dataBound treeGrids this specifies the `autoPreserveOpenState`, governing whether the open state of the tree should be preserved when new data arrives due to cache invalidation.
      Returns:
        PreserveOpenState

    - #### setCanAcceptDroppedRecords

          public void setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)

      Indicates whether records can be dropped into this listGrid.
      Overrides:
        `setCanAcceptDroppedRecords` in class `ListGrid`
      Parameters:
        `canAcceptDroppedRecords` - Default value is false
      See Also:
        `TreeNode.setCanDrag(java.lang.Boolean)`, `TreeNode.setCanAcceptDrop(java.lang.Boolean)`, `Dragdrop overview and related methods`, Tree Reparent Example

    - #### getCanAcceptDroppedRecords

          public java.lang.Boolean getCanAcceptDroppedRecords()

      Indicates whether records can be dropped into this listGrid.
      Overrides:
        `getCanAcceptDroppedRecords` in class `ListGrid`
      Returns:
        Boolean
      See Also:
        `TreeNode.getCanDrag()`, `TreeNode.getCanAcceptDrop()`, `Dragdrop overview and related methods`, Tree Reparent Example

    - #### setCanDragRecordsOut

          public void setCanDragRecordsOut(java.lang.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. If `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` - Default value is false
      See Also:
        `TreeNode.setCanDrag(java.lang.Boolean)`, `TreeNode.setCanAcceptDrop(java.lang.Boolean)`, `Dragdrop overview and related methods`, Drop Events Example

    - #### getCanDragRecordsOut

          public java.lang.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. If `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:
        Boolean
      See Also:
        `TreeNode.getCanDrag()`, `TreeNode.getCanAcceptDrop()`, `Dragdrop overview and related methods`, Drop Events Example

    - #### setCanDropOnLeaves

          public void setCanDropOnLeaves(java.lang.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 `TreeGrid.folderDrop()`.

      Note that enabling `canDropOnLeaves` is usually only appropriate where you intend to add a custom `TreeGrid.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` - Default value is false

    - #### getCanDropOnLeaves

          public java.lang.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 `TreeGrid.folderDrop()`.

      Note that enabling `canDropOnLeaves` is usually only appropriate where you intend to add a custom `TreeGrid.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:
        Boolean

    - #### setCanReorderRecords

          public void setCanReorderRecords(java.lang.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. If `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` - Default value is false
      See Also:
        `TreeNode.setCanDrag(java.lang.Boolean)`, `TreeNode.setCanAcceptDrop(java.lang.Boolean)`, `Dragdrop overview and related methods`, Tree Reparent Example

    - #### getCanReorderRecords

          public java.lang.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. If `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:
        Boolean
      See Also:
        `TreeNode.getCanDrag()`, `TreeNode.getCanAcceptDrop()`, `Dragdrop overview and related methods`, Tree Reparent Example

    - #### setCanReparentNodes

          public void setCanReparentNodes(java.lang.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` - Default value is null
      See Also:
        `TreeNode.setCanDrag(java.lang.Boolean)`, `TreeNode.setCanAcceptDrop(java.lang.Boolean)`, `Dragdrop overview and related methods`

    - #### getCanReparentNodes

          public java.lang.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:
        Boolean
      See Also:
        `TreeNode.getCanDrag()`, `TreeNode.getCanAcceptDrop()`, `Dragdrop overview and related methods`

    - #### setCanSelectAll

          public void setCanSelectAll(java.lang.Boolean canSelectAll)

      This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
      Overrides:
        `setCanSelectAll` in class `ListGrid`
      Parameters:
        `canSelectAll` - Default value is null
      See Also:
        `Selection overview and related methods`

    - #### getCanSelectAll

          public java.lang.Boolean getCanSelectAll()

      This property is not supported on TreeGrid, and only applies to the `ListGrid` superclass.
      Overrides:
        `getCanSelectAll` in class `ListGrid`
      Returns:
        Boolean
      See Also:
        `Selection overview and related methods`

    - #### setCantDragIntoChildMessage

          public void setCantDragIntoChildMessage(java.lang.String cantDragIntoChildMessage)
                                           throws java.lang.IllegalStateException

      Message displayed when user attempts to drop a node into a child of itself.
      Parameters:
        `cantDragIntoChildMessage` - Default value is "You can't drag an item into one of it's children."
      Throws:
        `java.lang.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 java.lang.String getCantDragIntoChildMessage()

      Message displayed when user attempts to drop a node into a child of itself.
      Returns:
        String
      See Also:
        `getCanDragRecordsOut()`, `getCanAcceptDroppedRecords()`, `getCanReorderRecords()`

    - #### setCantDragIntoSelfMessage

          public void setCantDragIntoSelfMessage(java.lang.String cantDragIntoSelfMessage)
                                          throws java.lang.IllegalStateException

      Message displayed when user attempts to drop a dragged node onto itself.
      Parameters:
        `cantDragIntoSelfMessage` - Default value is "You can't drag an item into itself."
      Throws:
        `java.lang.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 java.lang.String getCantDragIntoSelfMessage()

      Message displayed when user attempts to drop a dragged node onto itself.
      Returns:
        String
      See Also:
        `getCanDragRecordsOut()`, `getCanAcceptDroppedRecords()`, `getCanReorderRecords()`

    - #### setCascadeSelection

          public void setCascadeSelection(java.lang.Boolean cascadeSelection)
                                   throws java.lang.IllegalStateException

      Should children be selected when parent is selected? And should parent be selected when any child is selected?
      Parameters:
        `cascadeSelection` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCascadeSelection

          public java.lang.Boolean getCascadeSelection()

      Should children be selected when parent is selected? And should parent be selected when any child is selected?
      Returns:
        Boolean

    - #### setClosedIconSuffix

          public void setClosedIconSuffix(java.lang.String closedIconSuffix)

      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` - Default value is "closed"

    - #### getClosedIconSuffix

          public java.lang.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:
        String

    - #### setConnectorImage

          public void setConnectorImage(java.lang.String connectorImage)
                                 throws java.lang.IllegalStateException

      The base filename for 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.

      The 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).
      Parameters:
        `connectorImage` - See `SCImgURL` . Default value is "[SKIN]connector.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getConnectorImage

          public java.lang.String getConnectorImage()

      The base filename for 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.

      The 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).
      Returns:
        See `SCImgURL`

    - #### setCreateDefaultTreeField

          public void setCreateDefaultTreeField(java.lang.Boolean createDefaultTreeField)
                                         throws java.lang.IllegalStateException

      If no fields are specified, create a single field with `treeField` set to `true` to show the tree.

      This automatically generated field will display values derived by calling `TreeGrid.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 `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` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCreateDefaultTreeField

          public java.lang.Boolean getCreateDefaultTreeField()

      If no fields are specified, create a single field with `treeField` set to `true` to show the tree.

      This automatically generated field will display values derived by calling `TreeGrid.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 `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:
        Boolean

    - #### setCustomIconDropProperty

          public void setCustomIconDropProperty(java.lang.String customIconDropProperty)

      This property allows the developer to rename the `default node.showDropIcon` property.

      Note : This is an advanced setting

      Parameters:
        `customIconDropProperty` - Default value is "showDropIcon"
      See Also:
        `setCustomIconProperty(java.lang.String)`, `setShowCustomIconDrop(java.lang.Boolean)`

    - #### getCustomIconDropProperty

          public java.lang.String getCustomIconDropProperty()

      This property allows the developer to rename the `default node.showDropIcon` property.
      Returns:
        String
      See Also:
        `getCustomIconProperty()`, `getShowCustomIconDrop()`

    - #### setCustomIconOpenProperty

          public void setCustomIconOpenProperty(java.lang.String customIconOpenProperty)

      This property allows the developer to rename the `default node.showOpenIcon` property.

      Note : This is an advanced setting

      Parameters:
        `customIconOpenProperty` - Default value is "showOpenIcon"
      See Also:
        `setCustomIconProperty(java.lang.String)`, `setShowCustomIconOpen(java.lang.Boolean)`

    - #### getCustomIconOpenProperty

          public java.lang.String getCustomIconOpenProperty()

      This property allows the developer to rename the `default node.showOpenIcon` property.
      Returns:
        String
      See Also:
        `getCustomIconProperty()`, `getShowCustomIconOpen()`

    - #### setCustomIconProperty

          public void setCustomIconProperty(java.lang.String customIconProperty)

      This property allows the developer to rename the `default node.icon` property.
      Parameters:
        `customIconProperty` - Default value is "icon"

    - #### getCustomIconProperty

          public java.lang.String getCustomIconProperty()

      This property allows the developer to rename the `default node.icon` property.
      Returns:
        String

    - #### setDataFetchMode

          public void setDataFetchMode(FetchMode dataFetchMode)
                                throws java.lang.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 `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` - Default value is "basic"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `TreeDataBinding overview and related methods`, 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 `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:
        FetchMode
      See Also:
        `TreeDataBinding overview and related methods`, 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 `parentIdField`.
      Returns:
        Tree
      See Also:
        `Databinding overview and related methods`

    - #### setDisplayNodeType

          public void setDisplayNodeType(DisplayNodeType displayNodeType)

      Specifies the type of nodes displayed in the treeGrid.
      Parameters:
        `displayNodeType` - Default value is Tree.FOLDERS_AND_LEAVES
      See Also:
        `DisplayNodeType`

    - #### getDisplayNodeType

          public DisplayNodeType getDisplayNodeType()

      Specifies the type of nodes displayed in the treeGrid.
      Returns:
        DisplayNodeType
      See Also:
        `DisplayNodeType`

    - #### setDropIconSuffix

          public void setDropIconSuffix(java.lang.String dropIconSuffix)

      If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
      Parameters:
        `dropIconSuffix` - Default value is "drop"

    - #### getDropIconSuffix

          public java.lang.String getDropIconSuffix()

      If `showDropIcons` is true, this suffix will be appended to the `folderIcon` when the user drop-hovers over some folder.
      Returns:
        String

    - #### setExtraIconGap

          public void setExtraIconGap(int extraIconGap)
                               throws java.lang.IllegalStateException

      The amount of gap (in pixels) between the extraIcon (see `TreeGrid.getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
      Parameters:
        `extraIconGap` - Default value is 2
      Throws:
        `java.lang.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 `TreeGrid.getExtraIcon()`) or checkbox icon and the `nodeIcon`/ `folderIcon` or node text.
      Returns:
        int
      See Also:
        `Appearance overview and related methods`

    - #### setFields

          public void 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 `fields`.

      Parameters:
        `fields` - Default value is null
      See Also:
        `TreeGridField`, `Databinding overview and related methods`

    - #### setFolderIcon

          public void setFolderIcon(java.lang.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` and `showDropIcons`.
      Parameters:
        `folderIcon` - See `SCImgURL` . Default value is "[SKIN]folder.gif"
      See Also:
        Node Titles Example

    - #### getFolderIcon

          public java.lang.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` and `showDropIcons`.
      Returns:
        See `SCImgURL`
      See Also:
        Node Titles Example

    - #### setIconSize

          public void setIconSize(int iconSize)

      The standard size (same height and width, in pixels) of node icons in this treeGrid.
      Parameters:
        `iconSize` - Default value is 16

    - #### getIconSize

          public int getIconSize()

      The standard size (same height and width, in pixels) of node icons in this treeGrid.
      Returns:
        int

    - #### setIndentRecordComponents

          public void setIndentRecordComponents(java.lang.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` - Default value is true

    - #### getIndentRecordComponents

          public java.lang.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:
        Boolean

    - #### setIndentSize

          public void 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` - Default value is 20
      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:
        int
      See Also:
        `Appearance overview and related methods`

    - #### setKeepParentsOnFilter

          public void setKeepParentsOnFilter(java.lang.Boolean keepParentsOnFilter)
                                      throws java.lang.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 it in the tree.

      When `keepParentsOnFilter` is enabled for paged ResultTrees, server-side filtering is required.

      When enabled for non-paged trees, `fetchMode:"local"` is automatically enabled so that all filtering behavior shifts to the client-side and full criteria are no longer sent to the server. Instead, server fetches will always load all nodes, or with `loadDataOnDemand`:true, will always load all nodes under a given parent. This means that the server does not need to implement special tree filtering logic.

      Optionally, `serverFilterFields` can be set to a list of field names that will be sent to the server whenever they are present in the criteria.

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

    - #### getKeepParentsOnFilter

          public java.lang.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 it in the tree.

      When `keepParentsOnFilter` is enabled for paged ResultTrees, server-side filtering is required.

      When enabled for non-paged trees, `fetchMode:"local"` is automatically enabled so that all filtering behavior shifts to the client-side and full criteria are no longer sent to the server. Instead, server fetches will always load all nodes, or with `loadDataOnDemand`:true, will always load all nodes under a given parent. This means that the server does not need to implement special tree filtering logic.

      Optionally, `serverFilterFields` can be set to a list of field names that will be sent to the server whenever they are present in the criteria.

      Returns:
        Boolean
      See Also:
        `TreeDataBinding overview and related methods`

    - #### setLeaveSelectionCheckboxGap

          public void setLeaveSelectionCheckboxGap(java.lang.Boolean leaveSelectionCheckboxGap)
                                            throws java.lang.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` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ListGrid.setRecordCanSelectProperty(java.lang.String)`

    - #### getLeaveSelectionCheckboxGap

          public java.lang.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:
        Boolean
      See Also:
        `ListGrid.getRecordCanSelectProperty()`

    - #### setLoadDataOnDemand

          public void setLoadDataOnDemand(java.lang.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 `TreeGrid.fetchData()` will default it to true, otherwise, if a ResultTree is passed to `TreeGrid.setData()`, the `loadDataOnDemand` setting is respected.

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

      Parameters:
        `loadDataOnDemand` - Default value is null
      See Also:
        `setDataFetchMode(com.smartgwt.client.types.FetchMode)`, `Databinding overview and related methods`, Initial Data & Load on Demand Example

    - #### getLoadDataOnDemand

          public java.lang.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 `TreeGrid.fetchData()` will default it to true, otherwise, if a ResultTree is passed to `TreeGrid.setData()`, the `loadDataOnDemand` setting is respected.

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

      Returns:
        Boolean
      See Also:
        `getDataFetchMode()`, `Databinding overview and related methods`, Initial Data & Load on Demand Example

    - #### setManyItemsImage

          public void setManyItemsImage(java.lang.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` - See `SCImgURL` . Default value is "[SKIN]folder_file.gif"
      See Also:
        `Dragdrop overview and related methods`

    - #### getManyItemsImage

          public java.lang.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:
        See `SCImgURL`
      See Also:
        `Dragdrop overview and related methods`

    - #### setNodeIcon

          public void setNodeIcon(java.lang.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.
      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 See `SCImgURL` . Default value is "[SKIN]file.gif"
      See Also:
        Node Titles Example

    - #### getNodeIcon

          public java.lang.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.
      Returns:
        See `SCImgURL`
      See Also:
        Node Titles Example

    - #### setOfflineNodeMessage

          public void setOfflineNodeMessage(java.lang.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` - Default value is "This data not available while offline"

    - #### getOfflineNodeMessage

          public java.lang.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:
        String

    - #### setOpenerIconHeight

          public void setOpenerIconHeight(java.lang.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` - Default value is null

    - #### getOpenerIconHeight

          public java.lang.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:
        Integer

    - #### setOpenerIconSize

          public void setOpenerIconSize(java.lang.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` - Default value is null

    - #### getOpenerIconSize

          public java.lang.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:
        Integer

    - #### setOpenerIconWidth

          public void setOpenerIconWidth(java.lang.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` - Default value is null

    - #### getOpenerIconWidth

          public java.lang.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:
        Integer

    - #### setOpenerImage

          public void setOpenerImage(java.lang.String openerImage)
                              throws java.lang.IllegalStateException

      The base filename of the opener icon for the folder node 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.
      The 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.
      Parameters:
        `openerImage` - See `SCImgURL` . Default value is "[SKIN]opener.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getOpenerImage

          public java.lang.String getOpenerImage()

      The base filename of the opener icon for the folder node 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.
      The 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.
      Returns:
        See `SCImgURL`

    - #### setOpenIconSuffix

          public void setOpenIconSuffix(java.lang.String openIconSuffix)

      If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
      Parameters:
        `openIconSuffix` - Default value is "open"

    - #### getOpenIconSuffix

          public java.lang.String getOpenIconSuffix()

      If `showOpenIcons` is true, this suffix will be appended to the `folderIcon` for open folders in this grid.
      Returns:
        String

    - #### setParentAlreadyContainsChildMessage

          public void setParentAlreadyContainsChildMessage(java.lang.String parentAlreadyContainsChildMessage)
                                                    throws java.lang.IllegalStateException

      Message displayed when user attempts to drag a node into a parent that already contains a child of the same name.
      Parameters:
        `parentAlreadyContainsChildMessage` - Default value is "This item already contains a child item with that name."
      Throws:
        `java.lang.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)`

    - #### getParentAlreadyContainsChildMessage

          public java.lang.String getParentAlreadyContainsChildMessage()

      Message displayed when user attempts to drag a node into a parent that already contains a child of the same name.
      Returns:
        String
      See Also:
        `getCanDragRecordsOut()`, `getCanAcceptDroppedRecords()`, `getCanReorderRecords()`

    - #### setRecordDropAppearance

          public void 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 `TreeGrid.recordDrop()` event handler.
      Overrides:
        `setRecordDropAppearance` in class `ListGrid`
      Parameters:
        `recordDropAppearance` - Default value is ListGrid.BOTH

    - #### 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 `TreeGrid.recordDrop()` event handler.
      Overrides:
        `getRecordDropAppearance` in class `ListGrid`
      Returns:
        RecordDropAppearance

    - #### setSelectionProperty

          public void setSelectionProperty(java.lang.String selectionProperty)
                                    throws java.lang.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` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`

    - #### getSelectionProperty

          public java.lang.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:
        String
      See Also:
        `Appearance overview and related methods`

    - #### setSeparateFolders

          public void setSeparateFolders(java.lang.Boolean separateFolders)
                                  throws java.lang.IllegalStateException

      If specified, this attribute will override `separateFolders` on the data for this treeGrid.

      Specifies whether folders and leaves should be segregated in the treeGrid display. Use `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` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSeparateFolders

          public java.lang.Boolean getSeparateFolders()

      If specified, this attribute will override `separateFolders` on the data for this treeGrid.

      Specifies whether folders and leaves should be segregated in the treeGrid display. Use `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:
        Boolean

    - #### setServerFilterFields

          public void setServerFilterFields(java.lang.String... serverFilterFields)
                                     throws java.lang.IllegalStateException

      When `keepParentsOnFilter` is enabled for `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.
      Parameters:
        `serverFilterFields` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getServerFilterFields

          public java.lang.String[] getServerFilterFields()

      When `keepParentsOnFilter` is enabled for `fetchMode:"local"` ResultTrees, this property lists field names that will be sent to the server if they are present in the criteria.
      Returns:
        String...

    - #### setShowConnectors

          public void setShowConnectors(java.lang.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` - Default value is false
      See Also:
        Connectors Example

    - #### getShowConnectors

          public java.lang.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:
        Boolean
      See Also:
        Connectors Example

    - #### setShowCustomIconDrop

          public void setShowCustomIconDrop(java.lang.Boolean showCustomIconDrop)

      Should folder nodes showing custom icons (set via the `customIconProperty`, default `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 `showDropIcon` and that property can be renamed via `customIconDropProperty`.

      Note : This is an advanced setting

      Parameters:
        `showCustomIconDrop` - Default value is false

    - #### getShowCustomIconDrop

          public java.lang.Boolean getShowCustomIconDrop()

      Should folder nodes showing custom icons (set via the `customIconProperty`, default `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 `showDropIcon` and that property can be renamed via `customIconDropProperty`.
      Returns:
        Boolean

    - #### setShowCustomIconOpen

          public void setShowCustomIconOpen(java.lang.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 `showOpenIcon` and that property can be renamed via `customIconOpenProperty`.

      Note : This is an advanced setting

      Parameters:
        `showCustomIconOpen` - Default value is false

    - #### getShowCustomIconOpen

          public java.lang.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 `showOpenIcon` and that property can be renamed via `customIconOpenProperty`.
      Returns:
        Boolean

    - #### setShowDisabledSelectionCheckbox

          public void setShowDisabledSelectionCheckbox(java.lang.Boolean showDisabledSelectionCheckbox)
                                                throws java.lang.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` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ListGrid.setRecordCanSelectProperty(java.lang.String)`

    - #### getShowDisabledSelectionCheckbox

          public java.lang.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:
        Boolean
      See Also:
        `ListGrid.getRecordCanSelectProperty()`

    - #### setShowDropIcons

          public void setShowDropIcons(java.lang.Boolean showDropIcons)

      If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon 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` - Default value is true
      See Also:
        Node Titles Example

    - #### getShowDropIcons

          public java.lang.Boolean getShowDropIcons()

      If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon 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:
        Boolean
      See Also:
        Node Titles Example

    - #### setShowFullConnectors

          public void setShowFullConnectors(java.lang.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 are only shown for the most indented path ("sparse" connectors).
      Parameters:
        `showFullConnectors` - Default value is true

    - #### getShowFullConnectors

          public java.lang.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 are only shown for the most indented path ("sparse" connectors).
      Returns:
        Boolean

    - #### setShowOpener

          public void setShowOpener(java.lang.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.

      Parameters:
        `showOpener` - Default value is true

    - #### getShowOpener

          public java.lang.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.

      Returns:
        Boolean

    - #### setShowOpenIcons

          public void setShowOpenIcons(java.lang.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` - Default value is true
      See Also:
        Node Titles Example

    - #### getShowOpenIcons

          public java.lang.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:
        Boolean
      See Also:
        Node Titles Example

    - #### setShowPartialSelection

          public void setShowPartialSelection(java.lang.Boolean showPartialSelection)

      Should partially selected parents be shown with special icon?
      Overrides:
        `setShowPartialSelection` in class `ListGrid`
      Parameters:
        `showPartialSelection` - Default value is false

    - #### getShowPartialSelection

          public java.lang.Boolean getShowPartialSelection()

      Should partially selected parents be shown with special icon?
      Overrides:
        `getShowPartialSelection` in class `ListGrid`
      Returns:
        Boolean

    - #### setShowRoot

          public void setShowRoot(java.lang.Boolean showRoot)
                           throws java.lang.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 `TreeGrid.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` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowRoot

          public java.lang.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 `TreeGrid.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:
        Boolean

    - #### setSortFoldersBeforeLeaves

          public void setSortFoldersBeforeLeaves(java.lang.Boolean sortFoldersBeforeLeaves)
                                          throws java.lang.IllegalStateException

      If specified, this attribute will override `sortFoldersBeforeLeaves` on the data for this treeGrid.

      Specifies whether when `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` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setSeparateFolders(java.lang.Boolean)`

    - #### getSortFoldersBeforeLeaves

          public java.lang.Boolean getSortFoldersBeforeLeaves()

      If specified, this attribute will override `sortFoldersBeforeLeaves` on the data for this treeGrid.

      Specifies whether when `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:
        Boolean
      See Also:
        `getSeparateFolders()`

    - #### setTreeFieldTitle

          public void setTreeFieldTitle(java.lang.String treeFieldTitle)
                                 throws java.lang.IllegalStateException

      Visible title for the tree column (field).
      Parameters:
        `treeFieldTitle` - Default value is "Name"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTreeFieldTitle

          public java.lang.String getTreeFieldTitle()

      Visible title for the tree column (field).
      Returns:
        String

    - #### setUseAllDataSourceFields

          public void setUseAllDataSourceFields(java.lang.Boolean useAllDataSourceFields)

      If true, the set of fields given by the "default binding" (see `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` - Default value is null
      See Also:
        `FieldPicker.setDataBoundComponent(com.smartgwt.client.widgets.Canvas)`, `Databinding overview and related methods`, Customized Binding Example

    - #### getUseAllDataSourceFields

          public java.lang.Boolean getUseAllDataSourceFields()

      If true, the set of fields given by the "default binding" (see `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:
        Boolean
      See Also:
        `FieldPicker.getDataBoundComponent()`, `Databinding overview and related methods`, Customized Binding Example

    - #### canEditCell

          public java.lang.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 `data` is a `ResultTree` - either explicitly created and applied via `TreeGrid.setData()` or automatically generated via a `fetchData()` call.

      Parameters:
        `handler` - the dataArrived 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
      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
      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

    - #### getEventRow

          public int getEventRow()

      Returns the row number of the most recent mouse event.
      Overrides:
        `getEventRow` in class `ListGrid`
      Returns:
        row number, or -2 if beyond last drawn row

    - #### getEventRow

          public int getEventRow(java.lang.Integer y)

      Returns the row number of the most recent mouse event.
      Overrides:
        `getEventRow` in class `ListGrid`
      Parameters:
        `y` - optional y-coordinate to obtain row number, in lieu of the y coordinate of the last mouse event
      Returns:
        row number, or -2 if beyond last drawn row

    - #### getOpenIcon

          public java.lang.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

    - #### getOpenState

          public java.lang.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 `TreeGrid.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 Also:
        `setOpenState(java.lang.String)`

    - #### getSelectedPaths

          public java.lang.String getSelectedPaths()

      Returns a snapshot of the current selection within this treeGrid as a `ListGridSelectedState` object.
      This object can be passed to `TreeGrid.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 Also:
        `setSelectedPaths(java.lang.String)`

    - #### isOverExtraIcon

          public java.lang.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 java.lang.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

    - #### 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.

      This method can be overridden to provide custom drop behaviors and is a more appropriate override point than the lower level `Canvas.drop()` handler.

      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, Call `FolderDropEvent.cancel()` from within `FolderDropHandler.onFolderDrop(com.smartgwt.client.widgets.tree.events.FolderDropEvent)` to cancel them, then and 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`

    - #### recordDoubleClick

          public void recordDoubleClick()

      Handle a doubleClick on a tree node - override of ListGrid stringMethod of same name. If the node is a folder, this implementation calls `TreeGrid.toggleFolder()` on it. If the node is a leaf, calls `TreeGrid.openLeaf()` on it.
      See Also:
        `RecordDoubleClickEvent`

    - #### setOpenState

          public void setOpenState(java.lang.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 `TreeGrid.getOpenState()`.
      Parameters:
        `openState` - Object describing the desired set of open folders.. See `TreeGridOpenState`
      See Also:
        `getOpenState()`

    - #### setSelectedPaths

          public void setSelectedPaths(java.lang.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 `TreeGrid.getSelectedPaths()`.
      Parameters:
        `selectedPaths` - Object describing the desired selection state of the grid. See `ListGridSelectedState`
      See Also:
        `getSelectedPaths()`

    - #### 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` - node to toggle

    - #### transferNodes

          public void transferNodes(TreeNode[] nodes,
                           TreeNode folder,
                           java.lang.Integer index,
                           Canvas sourceWidget)

      Transfer a list of `TreeNode`s from another component (does not have to be a databound component) into this component. This method is only applicable to list-type components, such as `listGrid`, `treeGrid` or `tileGrid`.

      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`.

      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 the optional callback to this method or implement the `DataBoundComponent.dropComplete()` method on this component.

      See also `TreeGrid.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.
      See Also:
        Drop Events Example

    - #### transferNodes

          public void transferNodes(TreeNode[] nodes,
                           TreeNode folder,
                           java.lang.Integer index,
                           Canvas sourceWidget,
                           java.lang.String callback)

      Transfer a list of `TreeNode`s from another component (does not have to be a databound component) into this component. This method is only applicable to list-type components, such as `listGrid`, `treeGrid` or `tileGrid`.

      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`.

      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 the optional callback to this method or implement the `DataBoundComponent.dropComplete()` method on this component.

      See also `TreeGrid.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 callback to be fired when the transfer process has completed. The callback will be passed a single parameter "records", the list of nodes actually transferred to this component (it is called "records" because this is logic shared with `ListGrid`). See `Callback`
      See Also:
        Drop Events Example

    - #### 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

    - #### 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()`, `Editing overview and related methods`

    - #### getNodeTitle

          protected java.lang.String getNodeTitle(Record node,
                                      int recordNum,
                                      ListGridField field)

      Returns the title to show for a node in the tree column. If the field specifies the `name` attribute, then the current `node[field.name]` is returned. Otherwise, the result of calling `Tree.getTitle(com.smartgwt.client.widgets.tree.TreeNode)` on the node is called.
      You can override this method to return a custom title for node titles in the tree column. 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 java.lang.String getIcon(Record node,
                                 boolean defaultState)

      Get the appropriate icon for a node.

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

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

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

      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,
                               java.lang.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 java.lang.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 which would contain the item if dropped. This is the current drop node if the user is hovering over a folder, or the node's parent if the user is hovering over a leaf.
      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 ResultTree object created for this TreeGrid when data is fetched
      Parameters:
        `resultTreeProperties` - the data properties

    - #### 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 java.lang.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 ${isc.DocUtils.linkForRef('object:TreeNode')}s in a format equivalent to that documented on `data`.

      Parameters:
        `initialData` - initialData Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### 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 overview and related methods`, 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(java.lang.String treeRootValue)
                                throws java.lang.IllegalStateException

      For databound trees, use this attribute to supply a ${isc.DocUtils.linkForRef('ResultTree.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` - treeRootValue Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setTreeRootValue

          public void setTreeRootValue(java.lang.Integer treeRootValue)
                                throws java.lang.IllegalStateException

      For databound trees, use this attribute to supply a ${isc.DocUtils.linkForRef('ResultTree.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` - treeRootValue Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getTreeRootValue

          public java.lang.String getTreeRootValue()

      For databound trees, use this attribute to supply a ${isc.DocUtils.linkForRef('ResultTree.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:
        tree root value as String

    - #### 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 java.lang.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

    - #### addRecordDropHandler

          public HandlerRegistration addRecordDropHandler(RecordDropHandler handler)
                                                   throws java.lang.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:
        `java.lang.UnsupportedOperationException`

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.tree.TreeGridLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.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`