TV class (Tree)

TV(oTree)

new TV(oTree)

The TV type defines the tree view of the control, that displays the columns/items. The control supports multiple tree-views, each with its own configuration for displaying items and columns. By default, the control includes a single tree-view named "tree" that is used as the default view to display the control's items and columns. The oTV field defines the control's base tree-view. Use the AddTreeView() method to add a new view to the control. Use the RemoveTreeView() method removes a tree-view already created by AddTreeView() method. The TreeView() method returns a specific tree-view by its name.
Parameters:
Name Type Description
oTree Tree Specifies an object of Tree type that defines the owner control of the view to be created.

Methods

EnsureVisibleClient(clientA, ensureOptsopt)

The EnsureVisibleClient() method ensures that the giving client fits the control's client area. The EnsureVisibleClient() method can be used to ensure that a specific column, item, or cell fits the control's client area. The EnsureVisibleClient() method performs the required scroll and zoom operations to fit the client into the control's client area. The EnsureVisibleClient() method performs a smooth transition while fitting the client into the control's client area, if the smooth option is set to a value greater than zero. The EnsureVisibleSelection() method scrolls the control's content to ensure that the control's selection fits the control's client area.
Parameters:
Name Type Attributes Description
clientA object The client parameter could be any of the following:
  • clientA {object}, indicates an object of {Column} type that indicates the column to fit into the control's client area
  • clientA {object}, indicates an object of {Item} type that indicates the item to fit into the control's client area
  • clientA {object}, indicates an object of {Cell} type that indicates the cell to fit into the control's client area
  • clientA {number}, specifies an integer that indicates the index of the item to fit into the control's client area (if negative the index is counted from the end) (@since 5.1)
  • clientA {number[]}, specifies an array of [x,y,width,height] type that indicates the absolute-coordinates of the layout-rectangle to fit into the control's client area
ensureOpts object <optional>
Specifies different options to run the current method as explained:
  • expandParents {boolean/number}, (@since 5.1) specifies whether the parent items of the giving item are expanded as explained (valid only if clientA is an Item):
    • false/{null}/{undefined}, no parent items are expanded
    • true/1 {boolean/number}, parent items are expanded
    • 2 {number}, parent items are expanded and fully visible
  • force {boolean}, forces the EnsureVisibleClient()'s smooth operation to run, not matter if no zoom/scale or scrol changed
  • allowScale {boolean}, updates the control's scale/zoom-factor to ensure full-fit the client
  • allowScroll {number}, specifies whether horizontal/vertical is allowed as explained:
    • 3 {number}/{null}/{undefined}, allows scrolling horizontal and vertical as required
    • 0 {number}, no horizontal or vertical scroll is allowed
    • 1 {number}, horizontal scroll is allowed
    • 2 {number}, vertical scroll is allowed
  • nearestFit {boolean}, ensures that corner of the object nearest the window's client area fits it (it has effect only if the size of the object is greater than size of the window's client area)
  • duration {number}, specifies the time in ms the control is smoothly performs the changes
  • thisArg {any}, specifies the value of "this" keyword during the cbkI/cbkT callbacks
  • cbkR {callback}, specifies a function of callback(p) type that's invoked once the EnsureVisibleClient()'s smooth operation runs (p {number}, specifies the progress of the smooth so far, as a value between 0 and 1)
  • cbkI {callback}, specifies a function of callback() type that's invoked once the EnsureVisibleClient()'s smooth operation begins
  • cbkT {callback}, specifies a function of callback() type that's invoked once the EnsureVisibleClient()'s smooth operation ends
Example
oTree.EnsureVisibleClient(oTree.Column(2)), ensures that the column at index 2 fits the control's client area
oTree.EnsureVisibleClient(oTree.Item(10), {expandParents: true}), expands the parent items of the item at index 10 and ensures that the item fits the control's client area (@since 5.1)
oTree.EnsureVisibleClient(-1, {expandParents: true}), expands the parent items of the last item and ensures that the last item fits the control's client area (@since 5.1)
EnsureVisibleClient

EnsureVisibleSelection(ensureOptsopt)

The EnsureVisibleSelection() method scrolls the control's content to ensure that the control's selection fits the control's client area. The EnsureVisibleSelection() method performs the required scroll and zoom operations to fit the selection into the control's client area. The EnsureVisibleSelection() method performs a smooth transition while fitting the selection into the control's client area, if the smooth option is set to a value greater than zero. The EnsureVisibleClient() method ensures that the giving client fits the control's client area.
Parameters:
Name Type Attributes Description
ensureOpts object <optional>
Specifies different options to run the current method as explained:
  • expandParents {number}, expands the parent-items as explained:
    • 0 {number}, no parent-item is expanded (ignored, default)
    • 1 {number}, the parent-item(s) is expanded
    • 2 {number}, ensure to fit the parent-item(s) as well
  • selection {array}, holds an array of items as [exontrol.Tree.Item] type to fit into current-view. If missing, the control's selection is used by default
  • duration {number}, specifies the time in ms the control is smoothly performs the changes. If missing, the control's smooth value is used by default
Example
oTree.EnsureVisibleSelection(), scrolls the control's content to ensure that the control's selection fits the control's client area
oTree.EnsureVisibleSelection({expandParents: true}), expands the parent items of the control's selection and scrolls the control's content to ensure that the control's selection fits the control's client area
oTree.EnsureVisibleSelection({selection: [oTree.Item(10)], expandParents: true}), expands the parent items of the item at index 10 and scrolls the control's content to ensure that the item fits the control's client area (@since 5.1)
EnsureVisibleSelection

FitToClient(rtLayoutopt)

The FitToClient() method ensures that the entire (null/undefined) or giving layout fits the control's client area. The FitToClient() method performs the required scroll and zoom operations to fit the entire or giving layout into the control's client area. The FitToClient() method performs a smooth transition while fitting the entire or giving layout into the control's client area, if the smooth option is set to a value greater than zero. The FitToClient() method can be used as a default action for double-click on the control's background or as a callback for a button to reset the zoom and scroll to fit the entire layout into the control's client area. The ScrollPos property scrolls horizontally and/or vertically the control's default view. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property. The Zoom property defines the zoom factor of the control's content.
Parameters:
Name Type Attributes Description
rtLayout Array.<number> <optional>
Indicates null for entire layout or an array of [x,y,width,height] type that defines the absolute-coordinate to fit to client.
Example
oTree.FitToClient(), ensures that the entire layout fits the control's client area by performing the required scroll and zoom operations with a smooth transition (if the smooth option is set to a value greater than zero)
 oTree.FitToClient([0,0,1000,1000]), ensures that the layout defined by the absolute-coordinates of [0,0,1000,1000] fits the control's client area by performing the required scroll and zoom operations with a smooth transition (if the smooth option is set to a value greater than zero)  
FitToClient

GetAllowActions() → {string}

The GetAllowActions() method gets the actions the user can perform once the control is clicked or touched. The order of the actions is very important, as the control checks each action from left to right until it finds a matching action for the performed mouse/touch event. The first matched action is performed, and the rest of the actions are ignored. So if you want to perform a specific action once the user clicks an item, and perform another action if the user clicks an area that does not contain any item, you should place the first action before the second one in the AllowActions property.

For instance:

  • "item-drag,scroll", the control performs the "item-drag" action once the user clicks an item and "scroll" action is possible only if the user clicks an area that does not contain any item
  • "scroll,item-drag", the "item-drag" action is never performed, as the "scroll" action is always matched first. The scroll by drag can be performed if the user clicks anywhere in the view no matter if an item is present or not

So each action should be placed in the allowActions field according to your needs.

Returns:
Returns the actions the user can perform once the control is clicked or touched.

The format of the property is:

"action(shortcut,shortcut,...),action(shortcut,shortcut,...)..."
where
  • "action", defines the action to perform (as defined below)

    Action Description Flags
    "column-drag" Moves a column to a new position. The onchange("drag-column") event occurs when the user repositions a column via drag-and-drop, if the column's AllowDrag property is true. Not available if the control is read-only.
    "column-resize" Resizes columns by drag. If no flags are used, resizing is possible in both view and header areas. Requires control and column to be editable. The onchange("resize-column") event notifies that a column has been resized via UI interaction.
    • [view], resizing possible in view area
    • [header], resizing possible in column header
    "edit" Edits the cell being clicked. The onchange("change-cell") event occurs when the cell's value has been changed through the UI. Not available if the control is read-only.
    "fit" Fits a dragged area into the control's client area.
    "item-drag" Moves items by drag. The onchange("drag-item") event occurs once the user moves the item by drag an drop. Not available if the control is read-only.
    • [position], item can be moved within group without changing parent
    • [keepIndent], preserves indentation when moved to any position or parent
    • [any], item can be moved freely
    "item-resize" Resizes items by drag. The onchange("resize-item") event is raised only when the item height is changed by dragging. Only available if the control is editable and item's allowSizing=true.
    • [all], resizing one item adjusts all resizable items; otherwise only dragged or selected items are resized
    "scroll" Scrolls the control's content by drag.
    • [view], scroll possible in view area
    • [header], scroll possible in header area
    "select" Selects items by drag.
    "zoom" Zooms the control content at the dragging point.

    The expivot/js control supports additional actions as listed in the table below:

    Action Description Flags
    "format" Formats the column at the cursor, including content, appearance, and conditional formatting.

    The exgantt/js control supports additional actions as listed in the table below:

    Action Description Flags
    "chart-create" Creates item-bars by drag. Not available if the control is read-only.
    • [name=xxx], defines the name/type of the item-bar to create (e.g., [name=Task])
    • [key=xxx], defines the key of the item-bar to create
    • [shape=xxx], specifies the shape of the create-bar element
    • [height=xxx], sets the height of the create-bar element in pixels
    • [empty], allows creating item-bars on empty items
    • [auto], automatically adds the created item-bar when drag ends
    • [zero], allows creating zero-length item-bars
    "chart-fit" Fits a portion of the chart by drag. Not available if the control is read-only.
    • [chart], operation possible when clicking the chart
    • [level], operation possible when clicking the chart header
    • [overview], operation possible when clicking the control's overview
    "chart-link" Links item-bars by drag. Not available if the control is read-only.
    • [toggle], removes the link if bars are already linked
    "chart-move" Moves or resizes item-bars by drag, including resizing the percent of the item-bar. Not available if the control is read-only.
    "chart-percent" Resizes the percent of item-bars by drag. Not required if "chart-move" is included. Not available if the control is read-only.
    "chart-resize" Resizes the chart's unit width by drag. Not available if the control is read-only.
    • [chart], operation possible when clicking the chart
    • [level], operation possible when clicking the chart header
    "chart-select" Selects item-bars by drag.
    • [item], selects items by drag as well
    • [click-item], selects items when clicked as well
    "chart-zoom" Scales and resizes the chart by drag. Not available if the control is read-only.
    • [chart], zoom possible when clicking the chart
    • [level], zoom possible when clicking the chart header
    • [overview], zoom possible when clicking the control's overview
    "item-drag" Moves items by drag. The onchange("drag-item") event occurs once the user moves the item by drag an drop. Not available if the control is read-only.
    • [view], operation possible when clicking the view
    • [chart], operation possible when clicking the chart
    • [position], item can be moved within group without changing parent
    • [keepIndent], preserves indentation when moved to any position or parent
    • [any], item can be moved freely
    "overview-selection-resize" Resizes the chart using left/right margins of the overview-selection (available since 2.4).
    • [unsmooth], resize occurs unit by unit instead of pixel by pixel
    "scroll" Scrolls the control's content by drag.
    • [view], scroll possible in view area
    • [header], scroll possible in header area
    • [chart], scroll possible when clicking the chart
    • [level], scroll possible when clicking the chart header
    "select" Selects items by drag.
    • [view], operation possible when clicking the view
    • [chart], operation possible when clicking the chart

  • "shortcut", defines the event's button or/and the modifier-keys that are required to perform the action. The "shortcut" is a combination of none, one or more of the following values:
    • "Shift", indicates that the SHIFT key is pressed
    • "Ctrl" or "Control", indicates that the CTRL key is pressed
    • "Alt" or "Menu", indicates that the ALT key is pressed
    • "Meta" , indicates that the META key is pressed
    • "LButton", specifies that the mouse's left-button is pressed
    • "RButton", specifies that the mouse's right-button is pressed
    • "MButton", specifies that the mouse's middle/wheel-button is pressed
    • "Long", specifies that the action requires a "long" click or touch before it begins
    • "Double", specifies that the action requires a "double" click before it begins (this flag is available for non-dragable actions only such as "edit")
    • "+", indicates AND between values
Type
string

GetAllowDrop() → {boolean}

The GetAllowDrop() method indicates whether the user can drag and drop local files into the control. The AllowDrop property specifies whether the user can drag and drop local files into the control. By default, the AllowDrop property is set to false, so no file can be drop into the control. The control imports the file being dropped, using the Import method, based on the file extension.
Returns:
Returns true, if the user can drag and drop local files into the control.
Type
boolean

GetAllowGroupBy() → {boolean}

The GetAllowGroupBy() method determines whether the control supports group-by view. The group-by view is generated once the user drags a column to the control's group-by/sort bar. The SortBarVisible property must be true to display the group-by/sort bar. The onaddgroupitem event is triggered for each item when a group-by view is generated. The onremoveitem event is triggered for each item when a group-by view is removed. The GroupItem property determines whether an item is a group item. By default, the control does not support group-by view.
Returns:
Returns true if the control supports group-by view
Type
boolean

GetBackground() → {BackgroundOptions}

The GetBackground() method indicates the display options to show different parts of the control. The SetBackground() method defines the display options to show different parts of the control. The Background property defines the display options to show different parts of the control. The Background property accepts a value of BackgroundOptions type that indicates the display options to show different parts of the control. The Shapes property gets or sets the visual-appearance for different parts of the control, such as header of the columns, rows or cells, and so on.
Since:
  • 2.3
Returns:
Returns the display options to show different parts of the control
Type
BackgroundOptions

GetColumnAutoResize() → {boolean}

The GetColumnAutoResize() method indicates whether the control will automatically size its visible columns to fit on the control's client width. The Width property of each visible column is adjusted proportionally so that all visible columns fit exactly within the control's client area. The AllowSizing property specifies whether the column is resizable or fixed. The ColumnAutoResize property proportionally resizes visible columns with AllowSizing set to true so that they fit the control's width. By default, ColumnAutoResize is false, and visible columns are not automatically resized to fit the control.
Returns:
Returns a boolean value that specifies whether the control will automatically size its visible columns to fit on the control's client width
Type
boolean

GetColumnsFloatBarCaption() → {string}

The GetColumnsFloatBarCaption() method specifies the caption of the columns float bar. The floatbar displays the header of each sorted/grouped-columns. The ColumnsFloatBarVisible property shows or hides the control's floatbar. The ColumnsFloatBarSortOrder property defines the sort order to show the columns within the columns float bar.
Returns:
Indicates the caption of the columns float bar
Type
string

GetColumnsFloatBarSortOrder() → {number}

The GetColumnsFloatBarSortOrder() method specifies the sort order to show the columns within the columns float bar. The sort order can be ascending, descending or unsorted. The default sort order is unsorted. The sort order applies only to the columns float bar; it does not affect the order of the columns within the control. The ColumnsFloatBarVisible property must be set to a visible state to see the effect of this property. The ColumnsFloatBarCaption property defines the caption of the columns float bar.
Returns:
Indicates the sort order to show the columns within the columns float bar as explained:
  • 0 {number}, show columns unsorted
  • 1 {number}, show columns in ascending order (by name)
  • 2 {number}, shows columns in descending order (by name)
Type
number

GetColumnsFloatBarVisible() → {Tree.ColumnsFloatBarVisibleEnum}

The GetColumnsFloatBarVisible() method indicates whether the control's floatbar is visible or hidden. The floatbar displays hidden or groupable columns. The floatbar can be shown as docked to the right side of the control, or as floated over the control. The ColumnsFloatBarCaption property defines the caption of the columns float bar. The ColumnsFloatBarSortOrder property defines the sort order to show the columns within the columns float bar. By default, the ColumnsFloatBarVisible property is set to exColumnsFloatBarHidden (0), which hides the columns float bar.
Returns:
Specifies whether the control's floatbar is visible or hidden The Tree.ColumnsFloatBarVisibleEnum type supports the following values:
  • exColumnsFloatBarHidden(0), the columns floatbar is hidden
  • exColumnsFloatBarVisibleIncludeGroupByColumns(1), the columns floatbar is visible, and it displays dragable (AllowDrag property) and groupable (AllowGroupBy property) columns of the control.
  • exColumnsFloatBarVisibleIncludeCheckColumns(2), the columns floatbar is visible, and it displays dragable (AllowDrag property), and a check-box for each Column to update its Visible property (shor or hide the column).
  • exColumnsFloatBarVisibleIncludeHiddenColumns(4), the columns floatbar is visible, and it displays dragable (AllowDrag property) and hidden (Visible property) columns of the control.
  • exColumnsFloatBarFloat(0x100), the columns floatbar is shows as floated. This flag can be combined with exColumnsFloatBarVisibleIncludeHiddenColumns, exColumnsFloatBarVisibleIncludeCheckColumns or exColumnsFloatBarVisibleIncludeGroupByColumns type.

The ColumnsFloatBarCaption property defines the caption of the columns float bar. The ColumnsFloatBarSortOrder property defines the sort order to show the columns within the columns float bar.

Type
Tree.ColumnsFloatBarVisibleEnum
Example
false {boolean} or 0 {number}, hides the columns float bar
true {boolean}, 1 or Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeGroupByColumns {number}, the columns float bar is visible and displays groupable columns
GetColumnsFloatBarVisible

GetConditional() → {ConditionalFormatOptions|Array.<ConditionalFormatOptions>}

The GetConditional() method gets the control's conditional formats (previously set by SetConditional() method). The conditional formatting feature enables you to apply formats to a cell or range of cells that dynamically change based on the cell's value or the result of a formula. The Conditional.Shape property defines the visual-appearance of the cell when the condition is met, and it accepts the same values of the Shapes property, such as backgroundColor, fontColor, fontStyle and so on.
Since:
  • 3.3
Returns:
Retrieves the control's conditional formats as either an ConditionalFormatOptions object or an array of ConditionalFormatOptions objects.
Type
ConditionalFormatOptions | Array.<ConditionalFormatOptions>
Example
The following statements are equivalent:

 oTree.GetConditional() {(ConditionalFormatOptions|ConditionalFormatOptions[])} , gets the control's conditional formats
 oTree.Conditional {(ConditionalFormatOptions|ConditionalFormatOptions[])} , gets the control's conditional formats

where oTree is an object of Tree type.
GetConditional

GetCountLockedColumns() → {number}

The GetCountLockedColumns() method retrieves a single byte value representing how many columns are locked on each side of a view (left and right). A locked column is fixed in place, it does not scroll with the rest of the content. Left-locked columns stay fixed to the left side, and right-locked columns to the right side of the control. The Item.Lock property locks or unlocks the item, placing it at the top, bottom, or making it scrollable. The ShowLockedItems property indicates whether the locked/fixed items are visible or hidden. The Shapes/GetShapes()/SetShapes(value) {string}, defines the shapes each part of the control can display, including the locked columns. By default, the control displays no locked-columns.
Returns:
Returns the number of locked-columns as a single byte of {high, low} format (@since 4.6). The low nibble (0-15) defines the number of left-locked columns, and the high nibble (0-15) defines the number of right-locked columns.

The result uses a {high, low} format:

  • The low nibble (bits 0-3, values 0-15) represents the number of left-locked columns
  • The high nibble (bits 4-7, values 0-15) represents the number of right-locked columns
Type
number

GetCrSize() → {number}

The GetCrSize() method specifies the size to show the check-box/radio-button. The CellHasCheck/GetCellHasCheck()/SetCellHasCheck(value) {boolean}, shows or hides check-box, or radio-buttons for all cells within the column. The Cell.HasCheck property shows or hides the cell's check-box or radio-button is visible or hidden.
Returns:
Returns the size to show the check-box/radio-button.
Type
number

GetCursors() → {string}

The GetCursors() method retrieves the mouse cursors assigned to different parts of the control. These cursors determine the pointer appearance when the user hovers over specific areas, allowing you to provide visual feedback for interactive regions of the control. The Cell.Cursor property gets or sets the mouse cursor for the cell itself. The Column.CellCursor property gets or sets the mouse cursor for the column's body/data/cells. The Column.Cursor property gets or sets the mouse cursor for the column itself (column's header).
Returns:
A string expression that defines the mouse cursor to display when pointing over different parts of the control.

The format of the property is:

"cursor(part),cursor(part),..."
where:
  • "cursor", defines the CSS mouse cursor to display while cursor hovers the part
  • "part", defines the name of the part the cursor is applied on (as defined below)
The "cursor" can be any of the following:
Cursor Description
"alias"indicates a shortcut or alias will be created
"all-scroll"indicates scrolling in any direction
"auto"lets the browser decide the cursor based on context
"cell"indicates a table cell
"col-resize"indicates a column can be resized horizontally
"context-menu"indicates a context menu is available
"copy"indicates something will be copied
"crosshair"a precise crosshair cursor
"default"the default arrow cursor
"e-resize"resize east (right edge)
"ew-resize"resize horizontally
"grab"indicates an item can be grabbed
"grabbing"indicates an item is being grabbed
"help"indicates help information is available
"move"indicates something can be moved
"n-resize"resize north (top edge)
"ne-resize"resize northeast (top-right corner)
"nesw-resize"resize along the northeast–southwest axis
"no-drop"indicates dropping is not permitted
"not-allowed"indicates the action is not allowed
"ns-resize"resize vertically
"nw-resize"resize northwest (top-left corner)
"nwse-resize"resize along the northwest–southeast axis
"pointer"the pointer cursor (a hand with a pointing finger)
"progress"indicates background processing
"row-resize"indicates a row can be resized vertically
"s-resize"resize south (bottom edge)
"se-resize"resize southeast (bottom-right corner)
"sw-resize"resize southwest (bottom-left corner)
"text"the text selection cursor (I-beam)
"url(...)"uses a custom cursor image (with optional fallback)
"vertical-text"the vertical text selection cursor
"w-resize"resize west (left edge)
"wait"indicates the program is busy
"zoom-in"indicates zooming in
"zoom-out"indicates zooming out
The "part" can be any of the following:
Part Description
"anchor" (hyperlink)defines the mouse-cursor when the mouse pointer hovers the anchor (the <a> ex-HTML part marks an anchor or hyperlink element) (@since 2.2)
"cell"defines the mouse-cursor when the mouse pointer hovers any cell
"check"defines the mouse-cursor to be shown when the mouse pointer hovers the check-box/radio-button
"column"defines the mouse-cursor to show when the mouse pointer hovers the column's header
"column-drag"defines the mouse-cursor while the column is dragging
"column-filter"defines the mouse-cursor to show when the mouse pointer hovers the column's filter-button
"drag-drop"defines the cursor while the item is being dragged using the "drag-drop" action
"expand"defines the mouse-cursor to be shown when the mouse pointer hovers the expand/collapse glyphs
"filterBar-caption"defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's caption field
"filterBar-caption-column"defines the mouse-cursor to show when the mouse pointer hovers a column of the filter-bar's caption field
"filterBar-close"defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's close button
"filterBar-prompt"defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's prompt label
"item"defines the mouse-cursor when the mouse pointer hovers any item
"item-drag"defines the cursor while the item is being dragged using the "item-drag" action
"long"specifies the mouse-cursor to be shown as soon as a "long" click or touch action begins (see allowActions field)
"no"defines the mouse-cursor to be shown when no operation is allowed (for instance, dropping the item is not allowed in this area)

The expivot/js control supports additional parts as listed in the table below:

Part Description
"pivotBar-addNew"defines the mouse-cursor to show when the mouse pointer hovers the "add-new" buttons within the control's pivotbar
"pivotBar-aggregate"defines the mouse-cursor to show when the mouse pointer hovers an aggregate-glyph within the control's pivotbar
"pivotBar-total"defines the mouse-cursor to show when the mouse pointer hovers a total-field within the control's pivotbar
"pivotBar-refresh"defines the mouse-cursor to show when the mouse pointer hovers the "Refresh" button within the control's pivotbar

The exgantt/js control supports additional parts as listed in the table below:

Part Description
"create-bar"defines the mouse-cursor to show when the user creates a new item-bar
"create-link"defines the mouse-cursor to show when the user creates a new link
"itemBar"defines the mouse-cursor to show when the user hovers a movable and selectable item-bar
"itemBar-percent-resize"defines the mouse-cursor to show when the user hovers the bar's percent right-side
Type
string

GetDefaultItemHeight() → {number}

The GetDefaultItemHeight() method defines the item's default-height. The item's height is set to default-height when the item is added. If the item's height has been changed by the user (resized), then changing the default-height does not affect the item's height unless the item allows sizing (ItemAllowSizing property) and its height is reset to default-height. The Item.Height property gets or sets the height of the item. The Item.AllowSizing property indicates whether the item allows resizing by the user. By default, the DefaultItemHeight property is set to 24px.
Returns:
Returns the item's default-height
Type
number

GetDrawGridLines() → {Tree.GridLinesEnum}

The GetDrawGridLines() method indicates whether the control's grid-lines are visible or hidden. The GridLines property customizes the color, width and style of the control's grid-lines. The GridLines property specifies the color, width and style of the control's grid-lines as an object of {width, color, style} type.
Returns:
Specifies whether the control's grid-lines are visible or hidden The Tree.GridLinesEnum type supports the following flags:
  • exNoLines(0), no grid lines
  • exAllLines(-1), shows all vertical and horizontal grid lines
  • exRowLines(-2), shows grid lines for existing rows only
  • exHLines(1), shows only the horizontal grid lines
  • exVLines(2), shows only the vertical grid lines
Type
Tree.GridLinesEnum

GetEnsureOnSort() → {boolean}

The GetEnsureOnSort() method ensures that the selection fits the view's client-area once the user sorts or groups a column. The method scrolls the view, so the selection (including the parent-items) fits the view's client area. The Column.SortOrder property specifies the sort order of the column. The Sorts property of the Columns collection specifies the list of sorted columns within the tree-view.
Returns:
Returns true whether the selection fits the view's client-area once the user sorts or groups a column
Type
boolean

GetExpandGlyphSize() → {number}

The GetExpandGlyphSize() method specifies the size to show the item's expand/collapse glyphs. The Item.Expanded property indicates whether the item is expanded or collapsed. The item displays expand/collapse glyphs only if it has child-items. The Item.ToggleExpand() method toggles the item's expand state. The Item.ShowExpand property specifies whether the item's expand/collapse glyphs is visible or hidden. By default the expand/collapse glyphs size is 16x16 pixels.
Returns:
Returns the size to show the item's expand/collapse glyphs.
Type
number

GetExpandOnDblClick() → {boolean}

The GetExpandOnDblClick() method defines whether the item is expanded or collapsed once the user double-clicks the item. The Item.Expanded property indicates whether the item is expanded or collapsed. The Item.ToggleExpand() method toggles the item's expand state. The Item.ShowExpand property specifies whether the item's expand/collapse glyphs is visible or hidden. By default, the ExpandOnDblClick property is set to true, which expands or collapses the item once the user double-clicks it.
Returns:
Returns whether the item is expanded or collapsed once the user double-clicks the item
Type
boolean

GetFilterBarCaption() → {string}

The GetFilterBarCaption() method customizes the caption to display within the control's filter-bar. The FilterBarHeight property gets or sets the height to display the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. Setting the filter-bar height to 0 hides the control's filter-bar. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty.
Returns:
Returns the caption of the control's filter-bar The filterBarCaption expression supports the following keywords, constants, operators and functions:
  • "value" or "current", returns the current filter as a string. At runtime the value may return a string such as
    "[<b>EmployeeID</b>] = '4| 5| 6' and [<b>ShipVia</b>] = 1</img>"
    , so the control automatically applies HTML format, which you can change it. For instance,
    "upper(value)"
    displays the caption in uppercase or "value replace `<b>` with `<fgcolor=808080>` replace `</b>` with `</fgcolor>`" displays the column's name with a different foreground color.
  • "itemcount", returns the total number of items as indicated by Items.Count property. At runtime the itemcount is a positive integer that indicates the count of all items. For instance,
    "value + `<fgcolor=808080>Total: ` + itemcount"
    includes in the filter bar the number of items aligned to the right.
  • "visibleitemcount", returns the number of visible items as indicated by Items.VisibleCount property. At runtime, the visibleitemcount is a positive integer if no filter is applied, and negative if a filter is applied. If positive, it indicates the number of visible items. The visible items does not include child items of a collapsed item. If negative, a filter is applied, and the absolute value minus one, indicates the number of visible items after filter is applied. 0 indicates no visible items, while -1 indicates that a filter is applied, but no item matches the filter criteria. For instance,
    "value + `<fgcolor=808080>` + ( visibleitemcount < 0 ? ( `Result: ` + ( abs(visibleitemcount) - 1 ) ) : ( `Visible: ` + visibleitemcount ) )"
    includes "Visible: " plus number of visible items, if no filter is applied or "Result: " plus number of visible items, if filter is applied, aligned to the right
  • "matchitemcount", returns the number of items that match the filter as indicated by Items.MatchCount property. At runtime, the matchitemcount is a positive integer if no filter is applied, and negative if a filter is applied. If positive, it indicates the number of items within the control (Items.Count property). If negative, a filter is applied, and the absolute value minus one, indicates the number of matching items after filter is applied. A matching item includes its parent items, if the control's FilterInclude property allows including child items. 0 indicates no visible items, while -1 indicates that a filter is applied, but no item matches the filter criteria. For instance,
    "value + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( `Result: ` + ( abs(matchitemcount) - 1 ) ) : ( `Visible: ` + matchitemcount ) )"
    includes "Visible: " plus number of visible items, if no filter is applied or "Result: " plus number of matching items, if filter is applied, aligned to the right
  • "leafitemcount", returns the number of leaf-items. A leaf item is an item with no child items. At runtime, the leafitemcount is a positive number that computes the number of leaf-items ( expanded or collapsed ). For instance,
    "value + `<fgcolor=808080><font ;6>` + leafitemcount"
    displays the number of leaf-items aligned to the right with a different font and foreground color.
  • "promptpattern", returns the pattern in the filter bar's prompt, as a string. The FilterBarPromptPattern specifies the pattern for the filter prompt. The control's filter bar prompt is visible, if the exFilterBarPromptVisible flag is included in the FilterBarVisible property.
  • "available", returns the list of columns that are not currently part of the control's filter, but are available to be filtered. A column is available to be filtered, if the DisplayFilterButton property of the Column object, is True. At runtime, the available keyword may return a string such as
    "<fgcolor=C0C0C0>[<s>OrderDate</s>]<fgcolor> </fgcolor>[<s>RequiredDate</s>]<fgcolor> </fgcolor>[<s>ShippedDate</s>]<fgcolor> </fgcolor>[<s>ShipCountry</s>]<fgcolor> </fgcolor>[<s>Select</s>]</fgcolor>"
    so the control automatically applies HTML format, which you can change it. For instance,
    "value + ` ` + available"
    displays the current filter, including all available columns to be filtered. For instance,
    "value + `` + available replace `C0C0C0` with `FF0000`"
    displays the available columns aligned to the right with a different foreground color.
  • "allui", returns the list of columns that are part of the current filter and available columns to be filtered. A column is available to be filtered, if the DisplayFilterButton property of the Column object, is True. At runtime, the allui keyword may return a string such as
    "[<b>EmployeeID</b>] = '4| 5| 6'<fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>OrderDate</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>RequiredDate</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>ShippedDate</s>]</fgcolor><fgcolor> </fgcolor>[<b>ShipVia</b>] = 1</img><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>ShipCountry</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>Select</s>]</fgcolor>"
    so the control automatically applies HTML format, which you can change it. For instance,
    "allui"
    displays the current filter, including all available columns to be filtered. For instance,
    "((allui + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(allui) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </bgcolor></fgcolor>` )"
    displays all available columns to be filtered with different background/foreground colors including the number of items/results
  • "all", returns the list of all columns ( visible or hidden ) no matter if the DisplayFilterButton property is True or False. At runtime, the all keyword may return a string such as
    "<fgcolor=C0C0C0>[<s>OrderID</s>]</fgcolor><fgcolor> </fgcolor>[<b>EmployeeID</b>] = '4| 5| 6'<fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>OrderDate</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>RequiredDate</s>]</fgcolor><fgcolor>"
    so the control automatically applies HTML format, which you can change it. For instance,
    "all"
    displays the current filter, including all other columns. For instance,
    "((all + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(allui) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </bgcolor></fgcolor>` )"
    displays all columns with different background/foreground colors including the number of items/results
Type
string
Example
"value" or "current", returns the current filter as a string. At runtime the value may return a string such as
GetFilterBarCaption

GetFilterBarHeight() → {number}

The GetFilterBarHeight() method specifies the height to display the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. Setting the filter-bar height to 0 hides the control's filter-bar. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty. By default, the FilterBarHeight property is set to 24 pixels.
Returns:
Returns the height to display the control's filter-bar.
Type
number

GetFilterBarPrompt() → {string}

The GetFilterBarPrompt() method gets the caption to show while the pattern of the filter-prompt is empty. The FilterBarHeight property gets or sets the height to display the control's filter-bar. The FilterBarVisible property shows or hides the control's filter-bar. The FilterBarPromptColumns property specifies the list of columns the pattern of filter-prompt is applying to. The FilterBarPromptType property gets or sets the type of the control's filter-prompt.
Returns:
Returns the caption to show while the pattern of the filter-prompt is empty
Type
string

GetFilterBarPromptColumns() → {any}

The GetFilterBarPromptColumns() method indicates the list of columns the pattern of filter-prompt is applying to. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty. FilterBarPrompt property supports ex-HTML formatting. The FilterBarVisible property shows or hides the control's filter-bar. The FilterBarHeight property gets or sets the height to display the control's filter-bar. The FilterBarPromptColumns property specifies the list of columns the pattern of filter-prompt is applying to. The FilterBarPromptType property gets or sets the type of the control's filter-prompt.
Returns:
Returns the list of columns the pattern of filter-prompt is applying to, as explained:
  • null {null} or -1 {number}, all columns (visible or hidden)
  • {number}, specifies the index of the column
  • {string}, specifies a list of index/identifier/key/caption/plain-caption, separated by comma character
  • {Column}, specifies the column reference
Type
any
Example
null or -1 {null/number}, specifies that filter-prompt is applied to all columns (visible or hidden)
2 {number}, specifies that filter-prompt is applied to the column with index 2
GetFilterBarPromptColumns

GetFilterBarPromptPattern() → {string}

The GetFilterBarPromptPattern() method specifies the pattern of the control's filter-prompt. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty. The FilterBarPromptType property gets or sets the type of the control's filter-prompt, as a value of the Tree.FilterPromptEnum enumeration. By default, the FilterBarPromptPattern property is an empty string ("").
Returns:
Returns the pattern of the control's filter-prompt. Based on the filterBarPromptType field the filterBarPromptPattern field defines how the pattern filters for items as explained below:
  • filters for items that includes all of the sequences within the filter-pattern (exFilterPromptContainsAll)
  • filters for items that includes any of the sequences within the filter-pattern (exFilterPromptContainsAny)
  • filters for items that starts with any of the sequences within the filter-pattern (exFilterPromptStartWith)
  • filters for items that ends with any of the sequences within the filter-pattern (exFilterPromptEndWith)
  • filters for items that matches the filter-pattern, which may includes wild-characters such as ?, * or # (exFilterPromptPattern)
Type
string

GetFilterBarPromptType() → {Tree.FilterPromptEnum}

The GetFilterBarPromptType() method specifies the type of the control's filter-prompt. The FilterBarVisible property shows or hides the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. The onfilter event notifies your application once the control's filter has been changed.
Returns:
Returns the type of the control's filter-prompt. The Tree.FilterPromptEnum type supports the following flags:
  • exFilterPromptContainsAll(1), The list includes the items that contains all specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptContainsAny(2), The list includes the items that contains any of specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptStartWith(3), The list includes the items that starts with any specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptEndWith(4), The list includes the items that ends with any specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptPattern(16), The filter indicates a pattern that may include wild characters to be used to filter the items in the list. Can be combined with exFilterPromptCaseSensitive. The filterBarPromptPattern field may include wild characters as follows:
    '?' for any single character
    '*' for zero or more occurrences of any character
    '#' for any digit character
    ' ' space delimits the patterns inside the filter
  • exFilterPromptCaseSensitive(0x0100), Filtering the list is case sensitive. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith, exFilterPromptEndWith or exFilterPromptPattern.
  • exFilterPromptStartWords(0x1200), The list includes the items that starts with specified words, in any position. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith.
  • exFilterPromptEndWords(0x2200), The list includes the items that ends with specified words, in any position. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith.
  • exFilterPromptWords(0x3200), The filter indicates a list of words. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith.
Type
Tree.FilterPromptEnum

GetFilterBarVisible() → {Tree.FilterBarVisibleEnum}

The GetFilterBarVisible() method indicates whether the control's filter-bar is visible or hidden. The onfilter event notifies your application once the control's filter has been changed. The onfilter event is triggered when the user applies a new filter or clears the existing filter.
Returns:
Returns a exontrol.Tree.FilterBarVisibleEnum value that defines options for the control's filter-bar The Tree.FilterBarVisibleEnum type supports the following flags:
  • exFilterBarHidden(0), indicates that the control's filter-bar is visible only if the control has a filter applied (use the filterBarHeight on 0 to effectively hides the control's filter-bar)
  • exFilterBarPromptVisible(1), specifies that the control's filter-bar displays the filter prompt
  • exFilterBarVisible(2), forces the control's filter-bar to be shown, no matter if any filter is applied
  • exFilterBarCaptionVisible(4), forces the control's filter-bar to display the FilterBarCaption property.
  • exFilterBarSingleLine(16), specifies that the caption on the control's filter bar is displayed on a single line. The exFilterBarSingleLine flag , specifies that the filter bar's caption is shown on a single line, so
    HTML tag or \r\n are not handled. By default, the control's filter description applies word wrapping. Can be combined to exFilterBarCompact to display a single-line filter bar. If missing, the caption on the control's filter bar is displayed on multiple lines. You can change the height of the control's filter bar using the FilterBarHeight property.
  • exFilterBarToggle(256), specifies that the user can close the control's filter bar ( removes the control's filter ) by clicking the close button of the filter bar or by pressing the CTRL + F, while the control's filter bar is visible. If no filter bar is displayed, the user can display the control's filter bar by pressing the CTRL + F key. While the control's filter bar is visible the user can navigate though the list or control's filter bar using the ALT + Up/Down keys. If missing, the control's filter bar is always shown if any of the following flags is present exFilterBarPromptVisible, exFilterBarVisible, exFilterBarCaptionVisible.
  • exFilterBarShowCloseIfRequired(512), indicates that the close button of the control's filter bar is displayed only if the control has any currently filter applied.
  • exFilterBarShowCloseOnRight(1024), specifies that the close button of the control's filter bar should be displayed on the right side.
  • exFilterBarCompact(2048), compacts the control's filter bar, so the filter-prompt will be displayed to the left, while the control's filter bar caption will be displayed to the right. This flag has effect only if combined with the exFilterBarPromptVisible. This flag can be combined with the exFilterBarSingleLine flag, so all filter bar will be displayed compact and on a single line.
  • exFilterBarShort(4096), specifies that the control's filter bar is displayed only on the default-view (has effect if the control displays multiple views).
Type
Tree.FilterBarVisibleEnum

GetFilterInclude() → {Tree.FilterIncludeEnum}

The GetFilterInclude() method specifies the items to include once the control's filter is applied. The Tree.FilterIncludeEnum type supports various flags that define the items to include once the control's filter is applied. The exMatchIncludeParent flag can be combined with any other value to include the parent-items that match the filter. The FilterInclude property supports values of Tree.FilterIncludeEnum type. By default, the FilterInclude property is set to exItemsWithoutChilds, which shows the items (and parent-items) that match the filter (no child-items are included).
Returns:
Returns a Tree.FilterIncludeEnum value that defines the items to include once the control's filter is applied The Tree.FilterIncludeEnum type supports the following flags:
  • exItemsWithoutChilds(0), items (and parent-items) that match the filter are shown (no child-items are included)
  • exItemsWithChilds(1), items (parent and child-items) that match the filter are shown
  • exRootsWithoutChilds(2), only root-items (excludes child-items) that match the filter are displayed
  • exRootsWithChilds(3), root-items (and child-items) that match the filter are displayed
  • exMatchingItemsOnly(4), shows only the items that matches the filter (no parent or child-items are included)
  • exMatchIncludeParent(0xF0), specifies that the item matches the filter if any of its parent-item matches the filter. The exMatchIncludeParent flag can be combined with any other value
Type
Tree.FilterIncludeEnum

GetFormatText() → {exontrol.DrawTextFormatEnum}

The GetFormatText() method specifies the format to display the cell's caption. The Cell.FormatText property gets or sets the format to display the cell's caption. The Column.FormatText property gets or sets the format to display the column's header caption. The format defines the text's alignment, wrapping, clipping, and other display options. The Tree.FormatText property is used as default format for the cells or columns that do not have their own format defined. Shortly, if the Cell.Format property is null, the Tree.FormatText property is used to display the cell's caption; if the Column.Format property is null, the Tree.FormatText property is used to display the column's header caption.
Returns:
Returns a value of exontrol.DrawTextFormatEnum type, that defines the format to display the cell's caption. The exontrol.DrawTextFormatEnum type supports the following flags:
  • exTextAlignTop (0x00), justifies the text to the top of the rectangle
  • exTextAlignLeft (0x00), aligns text to the left
  • exTextAlignCenter (0x01), centers text horizontally in the rectangle
  • exTextAlignRight (0x02), aligns text to the right
  • exTextAlignVCenter (0x04), centers text vertically
  • exTextAlignBottom (0x08), justifies the text to the bottom of the rectangle.
  • exTextAlignMask (0x0F), specifies the mask for text's alignment.
  • exTextWordBreak (0x10), breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line. If this is not specified, output is on one line.
  • exTextSingleLine (0x20), displays text on a single line only. Carriage returns and line feeds do not break the line.
  • exTextExpandTabs (0x40), expands tab characters. The default number of characters per tab is eight.
  • exPlainText (0x80), treats the text as plain text.
  • exTextNoClip (0x0100), draws without clipping.
  • exHTMLTextNoColors (0x0200), ignores the and tags.
  • exTextCalcRect (0x0400), determines the width and height of the text.
  • exHTMLTextNoTags (0x0800), ignores all HTML tags.
  • exTextPathEllipsis (0x4000), for displayed text, replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, exTextPathEllipsis preserves as much as possible of the text after the last backslash.
  • exTextEndEllipsis (0x8000), for displayed text, if the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses.
  • exTextWordEllipsis (0x040000), truncates any word that does not fit in the rectangle and adds ellipses.
Type
exontrol.DrawTextFormatEnum
Example
null {null}, centers the caption
32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line caption
0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line caption right/bottom-aligned
"right" {string}, defines a caption right-aligned
GetFormatText

GetGridLines() → {object}

The GetGridLines() method defines the color, width and style of the control's grid-lines. The GridLines property customizes the color, width and style of the control's grid-lines. The GridLines property specifies the color, width and style of the control's grid-lines as an object of {width, color, style} type. By default, the GridLines property is set to:
{
 color: "gray",
 style: 1
}
which displays gray dotted grid-lines with 1-pixel width.
Returns:
Returns the color, width and style of the control's grid-lines as an object of {width, color, style} type, as explained:
width {number}, specifies the line's width or size (1 by default)
color {string}, indicates the line's color (partial-black by default)
style {number[]}, specifies the dash pattern to show the lines (dotted by default)
Type
object
Example
The following statements are equivalent:

 oTree.oTV.GetGridLines() {object}, returns the color, width and style of the control's grid-lines as an object of {width, color, style} type&lt;br&gt;
 oTree.GetGridLines() {object}, returns the color, width and style of the control's grid-lines as an object of {width, color, style} type&lt;br&gt;
 oTree.GridLines {object}, returns the color, width and style of the control's grid-lines as an object of {width, color, style} type

where oTree is the instance of the Tree control.
GetGridLines

GetGroupByFormatCell() → {string}

The GetGroupByFormatCell() method the format of the cell to be displayed when the column gets grouped by. This method defines the default value for Column.GroupByFormatCell property, which specifies the format of the cell to be displayed when the column gets grouped by. The Tree.AllowGroupBy property specifies whether the control supports group-by view. The group-by view is generated once the user drags a column to the control's group-by/sort bar. The Tree.SortBarVisible property must be true to display the group-by/sort bar. By default, the control does not support group-by view. The onaddgroupitem event is triggered for each item when a group-by view is generated. The onremoveitem event is triggered for each item when a group-by view is removed. The GroupItem property determines whether an item is a group item.
Returns:
Returns the format of the cell to be displayed when the column gets grouped by The format-expression supports the following keywords:
value, indicates the value of the current cell ( "value/2 format ``", displays half of the value using current regional format )
%0, %1, %2, ... {any} specifies the value of the cell in the column with the index 0, 1 2, ... ( "currency(%0 + %1)", adds the value of first and second cell and displays it as a currency )
%C0, %C1, %C2, ... {string} specifies the caption of the cell, or the string the cell displays in the column with the index 0, 1 2, ... ( "%C0 + %C1", concatenates the caption of first and second cell )
%CD0, %CD1, %CD2, ... {any} specifies the cell's user-date in the column with the index 0, 1 2, ... ( "%CD0 ? value : ``", displays the cell's value only if the cell's data is not empty )
%CS0, %CS1, %CS2, ... {number} specifies the cell's state in the column with the index 0, 1 2, ... ( "(%CS0 ? `<b>` : ``) + value", displays the cell's value in bold only if the first cell is checked )
%CT0, %CT1, %CT2, ... {boolean} returns true if the cell displays a total field; otherwise, it returns false. The exTotalField / exTotalColumn flag specifies whether the cell displays a total field. For instance, "%CT1" refers to all cells in the second column that display totals, while "not %CT1" refers to all cells in the second column that do not display totals (@since 3.3)
%CE0, %CE1, %CE2, ... {boolean} returns true if the cell is editable; otherwise, it returns false.. For example, "%CE0" refers to all editable cells in the first column, while "not %CE1" refers to all cells in the second column that are read-only (@since 3.3)
%CC0, %CC1, %CC2, ... {number} retrieve the number of child items (this keyword consistently returns identical results for all cells since it pertains to the item that hosts each cell). The ChildCount property returns the number of child items. For example, "%CC0" identifies all parent items, while "%CC0 = 0" identifies all leaf items (@since 3.3)
%CX0, %CX1, %CX2, ... {boolean} returns true if the item hosting the cell is expanded, or false if it is collapsed (this keyword consistently returns identical results for all cells since it pertains to the item that hosts each cell). The Item.Expanded property specifically indicates whether the item is expanded or collapsed. For example, "%CX0" refers to all expanded items, while "not %CX0" identifies all collapsed items (@since 3.3)
The format-expression supports the following unary-operators:
  • exp(``), checks whether the item is expanded or collapsed ( "(exp(``) ? `<b>` : ``) + value", shows expanded-items in bold )
  • get(`aggregate(list,direction,formula)`), summarizes the cell based on "aggregate(list,direction,formula)" syntax, where:
    aggregate, must be one of the following:
    • sum, performs addition of values
    • min, retrieves the minimum value
    • max, retrieves the maximum value
    • count, counts the number of items
    • avg, calculates the average of values
    • std, gets standard-deviation of numbers
    • unique, counts how many distinct values are in the set (@since 4.3)
    list, must be one of the following:
    • a number expression that specifies the index of the item being referred
    • all, indicates all items, so the formula is being applied to all items
    • current, refers the current item
    • parent, refers to the parent item
    • root, refers to the root item (the root item has no parent items)
    direction, must be one of the following:
    • dir, collects only direct descendents (child-items)
    • rec, collects recursivelly the leaf descendents ( leaf items ). A leaf item is an item with no child items
    • all, collects all descendents
    Currently, the following items are excluded by aggregate functions:
    not-sortable items. The Item.Sortable property specifies whether the item can be sorted ( a sortable item can change its position after sorting, while a not-sortable item keeps its position after sorting. not-selectable items. The Item.Selectable property specifies whether the user can selects/focus the specified item. divider items. The Item.Divider property specifies whether the item displays a single cell, instead displaying whole cells.
    In conclusion, aggregate functions counts ONLY items that are sortable, selectable and not a divider-item.

    For instance:
    "get(`count(current,dir,1)`)", gets the count of child-items
    "get(`count(current,all,1)`)", gets the count of all child-items (implies recursively child items)
    "get(`count(current,rec,1)`)", counts the number of leaf items ( a leaf item is an item with no child items )
    "get(`sum(current,dir,%1 ? 1 : 0)`)", counts the number of child-items that have not-empty cells within the second-column
    "get(`sum(current,dir,value)`)", gets the total of values of child-items (direct descendent) within the same column
    "get(`sum(all,rec,value)`)", gets the total of values of leaf-items within the same column
    "get(`sum(parent,dir,dbl(%1) + dbl(%2))`)", gets the addition of all cells in the second (%1) and third (%2) column that are directly descendent of the parent item (sibling)
The format-expression supports the following binary-operators:
0 index `format`, gets the index of the item (0-based). The first added item has the index 0, the second added item has the index 1, and so on. The index of the item remains the same even if the order of the items is changed by sorting or grouping ( "1 index ``", gets the index of the item starting from 1 )
0 rindex `delimiter|format|format|...`, returns the recursive-index of the item ("1 rindex `.|A-Z`", returns values as A, A.1, A.2, B, ...)
0 pos `format`, returns the relative position of the item (the position within the parent's children collection) ( "1 pos ``", returns the position of the item (1-based) within the parent's child items collection )
0 rpos `delimiter|format|format|...`, returns the recursive relative-position of the item (the position within the parent's children collection) ( "1 rpos `.|A-Z`", returns values as A, A.1, A.2, B, ... )
0 opos `format`, returns the relative old position of the item (the position within the parent's children collection) ( "1 opos ``", returns the position of the item (1-based) within the parent's child items collection )
0 ropos `delimiter|format|format|...`, returns the recursive relative-old-position of the item (the position within the parent's children collection) ( "1 ropos `.|A-Z`", returns values as A, A.1, A.2, B, ... )
0 apos `format`, returns the absolute position of the item (the position from the first visible item) ( "1 apos ``", gets absolute position of the item )
0 rapos `delimiter|format|format|...`, returns the recursive absolute-position of the item (the position from the first visible item) ( "1 rapos `.|A-Z`", returns values as A, A.1, A.2, B, ... )
where:
  • `delimiter`, is a character to separated recursive-operators such as "rindex", "rpos", "ropos" and "rapos"
  • `format`, is a set of characters to be used for specifying the index
Additionally, it supports parent and root unary operators to access the values of parent or root items as explained:
parent (unary operator), refers to the parent item of the current item. This expression allows access to values or properties associated with the immediate parent in the hierarchy or structure ( "parent(1 index ``)", gets the index of the parent-item (1-based) ) (@since 4.3)
root (unary operator), refers to the root item of the current item's hierarchy. This expression allows access to values or properties of the highest-level item in the entire structure, regardless of how deeply nested the current item is ("root(%C0)", retrieves the caption of the first column for the root item) (@since 4.3)
Type
string

GetHasButtons() → {boolean}

The GetHasButtons() method indicates whether the control shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). The items can still be expanded/collapsed by double-clicking the item. The expand/collapse glyphs are shown only if the item has child items. The HasLines property customizes the color, width and style of the control's hierarchy-lines. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The default value is true (the control shows the expand/collapse glyphs).
Since:
  • 1.4
Returns:
Returns true if the expand/collapse glyphs are visible
Type
boolean

GetHasLines() → {object}

The GetHasLines() method defines the color, width and style of the control's hierarchy-lines. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item).
Since:
  • 1.4
Returns:
Returns the color, width and style of the control's hierarchy-lines as an object of {width, color, style, cap, join} type, as explained:
width {number}, specifies the line's width or size (1 by default)
color {string}, indicates the line's color (partial-black by default)
style {number[]}, specifies the dash pattern to show the lines (dotted by default)
cap {("butt"|"round"|"square")}, determines the shape used to draw the end points of lines ("butt", the ends of lines are squared off at the endpoints by default)
join {("bevel"|"round"|"miter")}, determines the shape used to join two line segments where they meet ("miter", connected segments are joined by extending their outside edges to connect at a single point, with the effect of filling an additional lozenge-shaped area. by default)
Type
object

GetHeaderEnabled() → {boolean}

The GetHeaderEnabled() method enables or disables the control's header(includes the control's sortbar or floatbar). While disabled the user can't move, resize, sort or drag and drop the columns by drag and drop. The HeaderHeight property gets or sets the height to display the control's header. The HeaderVisible property shows or hides the control's header. By default, the HeaderEnabled property is set to true, which enables the control's header.
Since:
  • 2.4
Returns:
Specifies whether the control's header is enabled or disabled.
Type
boolean

GetHeaderHeight() → {number}

The GetHeaderHeight() method specifies the height to display the control's header. The header displays the header of each visible-columns. The HeaderVisible property shows or hides the control's header. The HeaderEnabled property enables or disables the control's header(includes the control's sortbar or floatbar). By default, the header's height is 24 pixels.
Returns:
Returns the height to display the control's header.
Type
number

GetHeaderVisible() → {Tree.HeaderVisibleEnum}

The GetHeaderVisible() method indicates whether the control's header is visible or hidden. The header displays the header of each visible-columns. The HeaderHeight property specifies the height to display the control's header. The HeaderEnabled property enables or disables the control's header(includes the control's sortbar or floatbar). By default, the HeaderVisible property is set to exHeaderVisible(-1), which shows the control's header.
Returns:
Specifies whether the control's header is visible or hidden The Tree.HeaderVisibleEnum type defines the following values:
    exHeaderHidden(0), the control's header is hidden exHeaderVisible(-1), the control's header is visible exHeaderVisibleExtendLevels(1), the control's header is visible, and each column's header is extended to cover all levels of the header
Type
Tree.HeaderVisibleEnum

GetHoistItem() → {any}

The GetHoistItem() method gets the control's hoisted item, which has been promoted along with all its visible children to the top level without altering its content or properties.

By default,

  • hoisting an item also displays all of its parent rows up to the root. To restrict the view so that only the hoisted item and its visible children are shown, set the FilterInclude property to exMatchingItemsOnly
  • when an item is hoisted, all of its child rows are automatically expanded. To preserve their original expand/collapse state, use the Layout property to save the current layout before changing the hoist, and restore it immediately afterward.
For reference, the Selection property specifies the currently selected row, while the Item property retrieves the row by its index.
Since:
  • 4.8
Returns:
Returns the control's hoisted item. The returned value could be any of the following:
  • {number}, indicates a numeric value that defines the index of the hoisted item
  • {string}, specifies a string expression that defines the identifier/key of the hoisted item
  • {Item}, specifies the object reference to the hoisted item
If no hoisted item is defined, the method returns null or undefined.
Type
any

GetImageAlign() → {number}

The GetImageAlign() method specifies the alignment of the cell's image. The Cell.Image property gets or sets the cell's individual image. The Column.FormatImage property defines the expression to determine the images the column display. The Column.Image property sets or gets the column's image. The Column.ImageAlign property takes priority over the control's ImageAlign property, and the Cell.ImageAlign property takes priority over the Column.ImageAlign property. When the Cell.ImageAlign property is null, the alignment falls back to the Column.ImageAlign property, and if the Column.ImageAlign property is also null, the control's ImageAlign property is used. In short, the alignment priority is: Cell -> Column -> Control. By default, the ImageAlign property is set to 0 (the image is aligned left to the caption).
Returns:
Returns the alignment of the cell's image as explained:
  • 0, the image is on the left of the cell's caption
  • 1, the image is on the right of the cell's caption
  • 2, the image is on the top of the cell's caption
  • 3, the image is on the bottom of the cell's caption
Type
number

GetImageSize() → {any}

The GetImageSize() method defines the size of the cell's image. The Column.ImageSize property takes priority over the control's ImageSize property, and the Cell.ImageSize property takes priority over the Column.ImageSize property. When the Cell.ImageSize property is null, the size falls back to the Column.ImageSize property, and if the Column.ImageSize property is also null, the control's ImageSize property is used. In short, the size priority is: Cell -> Column -> Control.
Returns:
Returns the size, range of limits the cell's image is displayed as expalined:
  • {null}, Indicates that the cell's image is displayed as it is (full-sized).
  • {number}, Specifies that the cell's image is displayed into a square of giving size (same width and height). If 0 the item displays no image, if negative the cell's image is stretched to giving square, else the item's picture is scaled to fit the giving rectangle.
  • {number[]}, Specifies an array of [aspect-width,aspect-height] type that defines the limits for width or/and height. The aspect-width and aspect-height define the width/height of the item's picture to scale or stretch to.
Type
any

GetItemAllowSizing() → {boolean}

The GetItemAllowSizing() method defines whether all or none of the item are resizable or fixed. The ItemAllowSizing property determines whether all or none of the item are resizable or fixed. The allowActions field must include "item-resize" action to enable item resizing. The "item-resize[all]" action enables resizing all items, while the missing "item-resize" action disables resizing for all items. The Item.AllowSizing property can override this property for individual items. If allowActions property does not include "item-resize" action, then no item can be resized regardless of the ItemAllowSizing property value. The "item-resize[all]" action takes precedence over the ItemAllowSizing property. The DefaultItemHeight property is updated if the user resizes the item at runtime by drag an drop (AllowActions property must include "item-resize[all]"). By default, the ItemAllowSizing property is set to false, which makes all items non-resizable.
Returns:
Returns whether all or none of the item are resizable or fixed
Type
boolean

GetLinesAtRoot() → {Tree.LinesAtRootEnum}

The GetLinesAtRoot() method indicates whether the control links the root items. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The HasLines property customizes the color, width and style of the control's hierarchy-lines. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). By default, the control does not link the root items.
Since:
  • 1.4
Returns:
Returns a value of Tree.LinesAtRootEnum type that indicates whether the root items are connected with a line.
Type
Tree.LinesAtRootEnum

GetLocked() → {boolean}

The GetLocked() method specifies whether the control is locked(protected) or unlocked. The user can't select any item, sort any column, or edit any item when the control is locked(protected). The ReadOnly property sets the control in read-only mode. While in read-only mode, the user can't edit or drag any item. The CountLockedColumns property locks columns on both the left and right sides of the view using a single byte in {high, low} format. The Item.Lock property locks or unlocks the item, placing it at the top, bottom, or making it scrollable. The ShowLockedItems property indicates whether the locked/fixed items are visible or hidden. By default, the control is unlocked.
Returns:
Returns true, if the control is locked(protected) or unlocked
Type
boolean

GetLockedItem(alignment, index) → {object}

The GetLockedItem() method gets a locked item giving its index or identifier/key. The Item.Lock property specifies or retrieves the section of the control where the item is placed - either locked at the top, scrollable, or locked at the bottom (@since 4.6). The GetLockedItemsCount() method gets the number of items fixed on the top or bottom side of the control. The SetLockedItemsCount() method specifies the number of items fixed on the top or bottom side of the control.
Parameters:
Name Type Description
alignment boolean Specifies whether the method refers to top(false) or bottom(true) locked items.
index any The item parameter could be any of the following:
  • index {number}, indicates a numeric value that defines the index of the item to request
  • index {string}, specifies a string expression that defines the identifier/key of the item to request
  • index {Item}, specifies the object reference to the item to request for
Returns:
Returns null or an object of Item type
Type
object
Example
oTree.GetLockedItem(false, 0); // gets the first locked item on the top side of the control
  oTree.GetLockedItem(true, "itemKey"); // gets the locked item with the identifier/key "itemKey" on the bottom side of the control
GetLockedItem

GetLockedItemsCount(alignment) → {number}

The GetLockedItemsCount() method gets the number of items fixed on the top or bottom side of the control. The Item.Lock property specifies or retrieves the section of the control where the item is placed - either locked at the top, scrollable, or locked at the bottom (@since 4.6). The locked/fixed items are not affected by sorting or grouping operations. The SetLockedItemsCount() method specifies the number of items fixed on the top or bottom side of the control.
Parameters:
Name Type Description
alignment boolean Specifies whether the method refers to top(false) or bottom(true) locked items.
Returns:
Returns true if the locked/fixed items are visible
Type
number
Example
oTree.GetLockedItemsCount(false); // gets the number of locked items on the top side of the control
GetLockedItemsCount

GetMargins() → {object}

The GetMargins() method indicates the control's margins, which define the indentation between a parent and its children. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). By default, the Margins property is set to null, which indicates an indentation of 16-pixels between a parent and its children.
Returns:
Returns an object of {indent} type that specifies the indentation between a parent and its children.
Type
object

GetOnErrorChooseFile() → {boolean}

The GetOnErrorChooseFile() method specifies whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs. The onerror event occurs when an error occurs during the loading of the control, such as when the data source is not accessible or when the file being imported has an unsupported format. If the OnErrorChooseFile property is set to true, the control displays an input-file to let user choose a local file to import, as soon as an error occurs. If the user selects a file and clicks "Open", the control attempts to import the selected file using the Import method, based on the file extension. If the OnErrorChooseFile property is set to false, no input-file is displayed as soon an error occurs. The ChooseFile() method clears the control's data and adds an input-file element to let user choose a local file (CSV or XML format) to import data from. By default, the OnErrorChooseFile property is set to true, so the control displays an input-file to let user choose a local file to import, as soon as an error occurs.
Returns:
Returns true, if the control displays an input-file to let user choose a local filte to import, as soon as an error occurs
Type
boolean

GetOptions() → {object}

The GetOptions() method returns the current options of the control. Each option corresponds to a Get/Set... method of the control. For instance, the "imageAlign" field corresponds to the SetImageAlign() method, and so on. The options are stored in the TV object, but they are applied to the control (exontrol.Tree) or to the view (TV) according to the option. The oTV field defines the control's base tree-view, where the options are applied by default, but some options can be applied to a specific view. The options of the control are defined by default in the exontrol.Tree.Options namespace, but they can be overridden by applying new options using the SetOptions() method.
Returns:
An object of Tree.Options type that indicates the options to display the control.
Type
object

GetPad() → {number|Array.<number>|string}

The GetPad() method specifies the space between cell/column's content and its borders. The Column.Pad property takes priority over the control's Pad property, and the Cell.Pad property takes priority over the Column.Pad property. When the Cell.Pad property is null, the padding falls back to the Column.Pad property, and if the Column.Pad property is also null, the control's Pad property is used. In short, the padding priority is: Cell -> Column -> Control. By default, the Pad property is set to null that indicates the default padding value of [4,4] is applied.
Returns:
Returns a value that could be:
  • {number} a numeric value, to pad horizontal and vertical size with the same value
  • {(string|number[])} a "x,y" or [x,y] type to specify the padding on horizontal and vertical side
Type
number | Array.<number> | string

GetReadOnly() → {string}

The GetReadOnly() method specifies whether the control is read-only. While in read-only mode, the user can't edit or drag any item. The user can still select items. The Locked property locks or unlocks the control. The user can't select any item, sort any column, or edit any item when the control is locked(protected). By default, the ReadOnly property is set to false (the control is editable).
Returns:
Returns true, if the control is read-only
Type
string

GetScrollPos() → {object}

The GetScrollPos() method retrieves the horizontal and vertical scroll-position of the control's default view. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property. The ScrollBars property specifies how the scroll-bars are being displayed into the control.
Returns:
Returns an object of {x,y} type that defines the control's horizontal and vertical scroll-position as explained:
x {number}, indicates the horizontal scroll-position, in pixels
y {number}, indicates the vertical scroll-position, in pixels
Type
object

GetShapes() → {string}

The GetShapes() method retrieves the shapes assigned to each part of the control. These shapes define the visual appearance of the control's elements, such as borders, fills, and other graphical components. Using this method, you can inspect or modify how each part of the control is drawn, allowing for full customization of its look and feel. The Cell.Shape property changes the shape for the cell itself. The Column.CellShape property gets or sets the shape to apply on the column's body/data/cells. The Column.Shape property changes the shape for the column itself (column's header). The Item.Shape property defines the shape for the item itself.
Returns:
A string expression that defines the shapes each part of the control can display.

The format of the property is:

"shape(part),shape(part),..."
where:
  • "shape", defines the shape to apply on the UI part as one of the following:

    ◦ any of 140 color names any browser supports (such as red, blue, green, ...)
    ◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
    ◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
    ◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
    ◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
    ◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
    ◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
    ◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
    ◦ specifies the name of the field within the exontrol.Shapes.Tree object (while it starts with a lowercase letter, such as shitem which refers to exontrol.Shapes.Tree.shitem shape)
    ◦ specifies the name of the field within the exontrol.Shapes object (while it starts with an uppercase letter, such as Button which refers to exontrol.Shapes.Button shape)

  • "part", defines the name of the part the shape is applied on (as defined below)
The shapes property supports any of the following parts:
Part Description
"cell"defines the visual-appearance for all cells within the control. The Cell.Shape property changes the shape for the cell itself. The Column.CellShape property gets or sets the shape to apply on the column's body/data/cells.
"check"defines the visual-appearance of the check-box
"column"defines the visual-appearance of column's header. The Column.Shape property changes the shape for the column itself (column's header).
"column-filter"defines the visual-appearance of column's filter-button
"expand"defines the visual-appearance of expand/collapse glyphs
"filterBar"defines the visual-appearance of the control's filter-bar
"filterBar-close"defines the visual-appearance of the filter-bar's close button
"frameFit"specifies the visual appearance of the frame that is displayed while fitting objects into the control's client area during a drag operation
"frameSel"defines the visual appearance to display a frame while selecting objects by drag
"item"defines the visual-appearance for all items within the control. The Item.Shape property defines the shape for the item itself.
"itemAlt"defines the visual-appearance for alternate-items (every second item). The Item.Shape property defines the shape for the item itself.
"itemDiv"defines the visual-appearance for divider-items (a divider-item displays only a single-cell). The Item.Shape property defines the shape for the item itself.
"lock"defines the visual-appearance for locked-part of the tree-view (left and right-side panel of the tree-view, determined by the countLockedColumns field, displays un-scrollable columns)
"lock-header"defines the visual-appearance for locked-part of the header (left and right-side panels of the header, determined by the countLockedColumns field, displays un-scrollable columns). The "lock-header" and "lock-header-right" are background shapes and may be overridden by columns, so set exontrol.Shapes.Tree.shcolumn.normal.fillColor = "rgba(0,0,0,0.25)" for a partially transparent background.
"lock-header-right"defines independent styling of right-locked-part of the header (right-side panel of the header, determined by the countLockedColumns field, displays un-scrollable columns). The "lock-header" and "lock-header-right" are background shapes and may be overridden by columns, so set exontrol.Shapes.Tree.shcolumn.normal.fillColor = "rgba(0,0,0,0.25)" for a partially transparent background. (@since 4.6)
"lock-items"defines the visual appearance of top or bottom-locked items in the tree view (these locked items, displayed in the top and bottom panels of the tree view (as determined by the SetLockedItemsCount method), remain fixed and do not scroll) (@since 4.6)
"lock-items-bottom"defines independent styling of the bottom-locked items in the tree view (these items appear in the bottom panel (as determined by the SetLockedItemsCount method) and remain fixed without scrolling) (@since 4.6)
"lock-right"defines independent styling of the right-locked columns (items section only, not including the header) (right-side panel of the tree-view, determined by the countLockedColumns field, displays un-scrollable columns) (@since 4.6)
"multiSel"specifies the visual appearance to show the count of multiple-selected items (for instance, when you drag and drop multiple items at once)
"radio"defines the visual-appearance of the radio-button
"select"defines the visual-appearance of selected-item
"sortBar-caption"defines the visual-appearance of control's sortbar when it displays no columns
"unlock"defines the visual-appearance for unlocked-part of the tree-view (ride-side panel of the tree-view, determined by the countLockedColumns field, displays scrollable columns)
"unlock-header"defines the visual-appearance for unlocked-part of the header (ride-side panel of the header, determined by the countLockedColumns field, displays scrollable columns)

The expivot/js control supports additional parts as listed in the table below:

Part Description
"itemTot"defines the visual-appearance for item of total type
"itemSub"defines the visual-appearance for item of sub-total type
"pivotBar-addNew"defines the visual-appearance of the "add-new" buttons within the control's pivotbar
"pivotBar-aggregate"defines the visual-appearance of an aggregate-glyph within the control's pivotbar
"pivotBar-idem"defines the visual-appearance of idem-columns within the control's pivotbar
"pivotBar-refresh"defines the visual-appearance of the "Refresh" button within the control's pivotbar
"pivotBar-total"defines the visual-appearance of a total-field within the control's pivotbar

The exgantt/js control supports additional parts as listed in the table below:

Part Description
"date-ticker"defines the visual-appearance to indicate the date-time being hovered
"level"defines the visual-appearance for level's header
"nw"defines the visual-appearance to show the non-working units
"select-bar"defines the visual-appearance of selected item-bar
"select-chart"defines the visual-appearance of selected-item (applied to chart section only)
"select-date"defines the visual-appearance to display a selected-date
"select-overview"defines the visual-appearance to display the overview-selection
"select-overview-resize"defines the visual-appearance to display left/right resize-margins of the overview-selection (@since 2.4)
"selectout-overview"defines the visual-appearance to display the left/right parts outside of the overview-selection (@since 2.4)
"selectunit-overview"defines the visual-appearance to display the selected unit within the control's overview (@since 2.4)
"unavailableunit-overview"defines the visual-appearance to display unavailable-units within the control's overview (@since 2.4)
Type
string
Example
The following statements are equivalent:

 oTree.GetShapes() {string}, returns a string expression that defines the shapes each part of the control can display
 oTree.Shapes {string}, returns a string expression that defines the shapes each part of the control can display

where oTree is an instance of the Tree control.
GetShapes

GetShowLockedItems() → {boolean}

The GetShowLockedItems() method indicates whether the locked/fixed items are visible or hidden. The CountLockedColumns property locks columns on both the left and right sides of the view using a single byte in {high, low} format. The Locked property locks or unlocks the control. The locked/fixed items are displayed on top or bottom side of the view based on the Item.Lock property that specifies or retrieves the section of the control where the item is placed - either locked at the top, scrollable, or locked at the bottom. The locked/fixed items are not affected by sorting or grouping operations. The SetShowLockedItems() method indicates whether the locked/fixed items are visible or hidden. By default, the ShowLockedItems property is set to true, which makes the locked/fixed items visible.
Returns:
Returns true if the locked/fixed items are visible
Type
boolean
Example
false {boolean}, the control's locked/fixed items are not shown
true {boolean}, the control's locked/fixed items are visible
GetShowLockedItems

GetSingleSort() → {boolean}

The GetSingleSort() method indicates whether the control supports single or multiple-columns sort. The Sorts/GetSorts()/SetSorts(value) {string}, sorts(groups) multiple-columns at once giving a string-representation such as "1:A 2:D, 0:A". The Column.AllowSort property specifies whether the column is sortable. The Column.SortOrder property gets or sets the column's sort-order. The AllowGroupBy property specifies whether the control supports group-by view. The Column.AllowGroupBy property specifies whether the column can be grouped by. The onchange("sort-column") event notifies that a column has been sorted through user interaction by clicking its header. By default, the control supports multiple-columns sort.
Returns:
Specifies whether the control supports single or multiple-columns sort
Type
boolean

GetSmooth() → {number}

The GetSmooth() method defines the time in ms the control goes from one layout to another. The control performs a smooth-transition from one layout to another when the control's layout changes due to expanding/collapsing an item, sorting a column, resizing a column, ... By default, the Smooth property is set to 125 ms. Setting the Smooth property to 0 indicates that no smooth-transition is performed when the control goes from one layout to another.
Returns:
Returns the time in ms the control goes from one layout to another.
Type
number

GetSortBarCaption() → {string}

The GetSortBarCaption() method specifies the caption to be shown on the control's sortbar when it is empty. The caption supports ex-HTML tags for formatting. The SortBarVisible/GetSortBarVisible()/SetSortBarVisible(value) {boolean}, shows or hides the control's sortbar. The sortbar displays the header of each sorted/grouped-columns. The Sorts/GetSorts()/SetSorts(value) {string}, sorts(groups) multiple-columns at once giving a string-representation such as "1:A 2:D, 0:A". By default, the control's sortbar shows the caption "Drag a column header here to sort by that column." when no columns has been dropped onto it.
Returns:
Returns the caption to be shown on the control's sortbar when it is empty.
Type
string

GetSortBarVisible() → {boolean}

The GetSortBarVisible() method indicates whether the control's sortbar is visible or hidden. The sortbar displays the header of each sorted/grouped-columns. The SortBarCaption/GetSortBarCaption()/SetSortBarCaption(value) {string}, specifies the caption to be shown on the control's sortbar when it is empty. The Sorts/GetSorts()/SetSorts(value) {string}, sorts(groups) multiple-columns at once giving a string-representation such as "1:A 2:D, 0:A". By default, the control's sortbar is hidden.
Returns:
Specifies whether the control's sortbar is visible or hidden
Type
boolean

GetSortOnClick() → {Tree.SortOnClickEnum}

The GetSortOnClick() method indicates whether the column gets sorted once the user clicks its header. The SortOnClick property indicates whether the column gets sorted once the user clicks its header as a value of exontrol.Tree.SortOnClickEnum type. By default, the SortOnClick property is set to exDefaultSort, meaning that the column gets sorted once the user clicks its header.
Returns:
Specifies a flag of exontrol.Tree.SortOnClickEnum type that defines the action the control takes once the user clicks the column's header. The Tree.SortOnClickEnum type defines the following values:
  • exNoSort(0), the column is not sorted when user clicks the column's header.
  • exDefaultSort(-1), The column gets sorted when user the clicks the column's header.
  • exUserSort(-1), The control displays the sort icons, but it doesn't sort the column (not supported)
Type
Tree.SortOnClickEnum

GetTfi() → {string|object}

The GetTfi() method gets the font attributes to apply on captions of the control. The GetTfi() method returns the font attributes as a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}. Correspondingly, the Tfi property defines the font attributes that are applied to the control's captions and can be set to customize their appearance.
Returns:
Returns the font attributes as a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}.

The result as a {string} can include any of the following keywords separated by space characters:

  • bold, displays the text in bold (equivalent of <b> tag)
  • italic, displays the text in italics (equivalent of <i> tag)
  • underline, underlines the text (equivalent of <u> tag)
  • strikeout, specifies whether the text is strike-through (equivalent of <s> tag)
  • <fontName name>, specifies the font's family (equivalent of <font name> tag)
  • <fontSize size>, specifies the size of the font (equivalent of <font ;size> tag)
  • <fgColor CSSColor>, specifies the text's foreground color (equivalent of <fgcolor> tag)
  • <bgColor CSSColor>, specifies the text's background color (equivalent of <bgcolor> tag)
  • <shaColor CSSColor;width;offset>, defines the text's shadow (equivalent of <sha color;width;offset> tag)
  • <outColor CSSColor>, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
  • <graColor CSSColor;mode;blend>, defines a gradient text (equivalent of <gra color;mode;blend> tag)

Any other word within the string result that's not recognized as a keyword is interpreted as:

  • name of the font (not a number), specifies the font's family (equivalent of <font name> tag)
  • size of the font (number), specifies the size of the font (equivalent of <font ;size> tag)

The result as {object} can include any of the following fields:

  • bold {boolean}, displays the text in bold (equivalent of <b> tag)
  • italic {boolean}, displays the text in italics (equivalent of <i> tag)
  • underline {boolean}, underlines the text (equivalent of <u> tag)
  • strikeout {boolean}, specifies whether the text is strike-through (equivalent of <s> tag)
  • fontName {string}, specifies the font's family (equivalent of <font name> tag)
  • fontSize {number}, specifies the size of the font (equivalent of <font ;size> tag)
  • fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of <fgcolor> tag)
  • bgColor {string}, specifies the text's background color (CSScolor) (equivalent of <bgcolor> tag)
  • shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of <sha color;width;offset> tag), where:
    • color {string}, defines the color of the text's shadow (CSScolor)
    • width {number}, defines the size of the text's shadow
    • offset {number}, defines the offset to show the text's shadow relative to the text
  • outColor {string}, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
  • graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of <gra color;mode;blend> tag), where:
    • color {string}, defines the gradient-color (CSScolor)
    • mode {number}, defines the gradient direction as 0 (left-right), 1 (default, top-bottom), 2 (left-center-right), and 3 (top-center-bottom)
    • blend {number}, defines the gradient blend as a value between 0 and 1

CSSColor or CSS legal color values can be specified by the following methods:

  • Hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF. For example, #0000ff value is rendered as blue, because the blue component is set to its highest value (ff) and the others are set to 00.
  • Hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF. For example, #0000ff80 defines a semi-transparent blue.
  • RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255. For example, rgb(0,0,255) defines the blue color.
  • RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, rgba(0,0,255,0.5) defines a semi-transparent blue.
  • HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors. For example, hsl(240, 100%, 50%) defines the blue color.
  • HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, hsla(240, 100%, 50%,0.5) defines a semi-transparent blue.
  • Predefined/Cross-browser color names, 140 color names are predefined in the HTML and CSS color specification. For example, blue defines the blue color.
Type
string | object
Example
The following statements are equivalent:

  oTree.GetTfi() {string}, returns the control's font attributes as a string such as "b monospace 16"
  oTree.Tfi {string}, returns the control's font attributes as a string such as "b monospace 16"

where oTree is an instance of Tree control
GetTfi

GetToolTipDelay() → {number}

The GetToolTipDelay() method retrieves the time the mouse pointer must hover over an object before the tool tip appears. Setting it to 0 makes tool tips appear immediately, while a higher value (for example, 128) introduces a delay to prevent accidental pop-ups when moving the mouse quickly. The ToolTipPopDelay property determines how long the tool tip remains visible (in milliseconds) if the mouse pointer stays stationary, and the ToolTipWidth property sets the maximum width of the control's tool tip in pixels.
Returns:
Returns how long the mouse pointer must point to an object before the tool tip appears
Type
number
Example
The following statements are equivalent:

 oTree.GetToolTipDelay() {number}, returns how long the mouse pointer must point to an object before the tool tip appears
 oTree.ToolTipDelay {number}, returns how long the mouse pointer must point to an object before the tool tip appears

where oTree is an instance of the Tree control.
GetToolTipDelay

GetToolTipPopDelay() → {number}

The GetToolTipPopDelay() method returns the duration, in milliseconds, that a tooltip remains visible when the mouse pointer is stationary over a control. The ToolTipPopDelay property is expressed in milliseconds. The ToolTipDelay property defines how long the mouse pointer must hover over an object before the tooltip appears. The ToolTipWidth property specifies the width of the tooltip window in pixels. By default, the tooltip remains visible for 5000 milliseconds.
Returns:
Returns the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control
Type
number
Example
The following statements are equivalent:

 oTree.GetToolTipPopDelay() {number}, returns the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control
 oTree.ToolTipPopDelay {number}, returns the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control

where oTree is an instance of the Schedule control.
GetToolTipPopDelay

GetToolTipWidth() → {number}

The GetToolTipWidth() method returns the tooltip window's width in pixels. The ToolTipWidth property defines the tooltip window's width in pixels and accepts a numeric value; a value of -1 (default) displays the tooltip on a single line without any width restriction. The ToolTipDelay property specifies the time in milliseconds the mouse pointer must hover over an object before the tooltip appears. The ToolTipPopDelay property specifies how long, in milliseconds, the tooltip remains visible while the mouse pointer stays stationary within the control.
Returns:
Returns the width of the tooltip window, in pixels
Type
number
Example
The following statements are equivalent:

 oTree.GetToolTipWidth() {number}, returns the width of the tooltip window, in pixels
 oTree.ToolTipWidth {number}, returns the width of the tooltip window, in pixels

where oTree is an instance of the Tree control.
GetToolTipWidth

GetTreeColumnIndex() → {any}

The GetTreeColumnIndex() method defines the index or identifier/key/caption of the column that displays the hierarchy. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). The HasLines property customizes the color, width and style of the control's hierarchy-lines. The Margins property specifies the control's margins, which define the indentation between a parent and its children. By default, the TreeColumnIndex property is set to 0, which displays the hierarchy within the first column (index 0).
Returns:
Returns the index or identifier/key/caption of the column that displays the hierarchy
Type
any

GetWheelChange() → {number}

The GetWheelChange() method retrieves the amount by which the control scrolls when the user rolls the mouse wheel. The control moves according to the value of the WheelChange property for each wheel rotation. Holding SHIFT while scrolling scrolls the control horizontally. By default, WheelChange is set to 18, meaning the control scrolls 18 pixels per wheel rotation. Setting WheelChange to 0 disables any action from the mouse wheel.
Returns:
Returns the amount the control scrolls when the user rolls the mouse wheel.
Type
number

GetZoom() → {number}

The GetZoom() method defines the zoom factor of the control's content. The zoom factor determines how much the control's content is magnified or reduced. Once the user adjusts the browser's zoom level, the control automatically recalculates its zoom factor to maintain the correct scaling of its content. The ZoomLevels property defines the allowed zoom levels the user can select from. By default, the Zoom property is set to null, indicating a normal view (100% zoom).
Returns:
A numeric value between 10 and 1000 that specifies the zoom factor of the control's content.
Type
number
Example
null {null}, Specifies normal-view (100%)
150 {number}, Indicates that the control's content is magnfied to 150%
GetZoom

GetZoomLevels() → {string}

The GetZoomLevels() method defines the zoom-levels the user can magnify the control's content. The Zoom property defines the zoom factor of the control's content. The zoom factor determines how much the control's content is magnified or reduced. Once the user adjusts the browser's zoom level, the control automatically recalculates its zoom factor to maintain the correct scaling of its content. By default, the ZoomLevels property is set to null, indicating that the control's zoom factor is always 100% (no zoom).
Returns:
Specifies a list of numbers separated by comma that indicates the zoom-levels/zoom-margins the control's content is allowed to zoom.
Type
string

Home()

The Home() method zooms to 100% and scrolls the control to origin (0,0). The Home() method is used when the entire layout fits the control's client area, so no zoom is required, just scroll to origin (0,0). The Home() method can be used as a default action for double-click on the control's background or as a callback for a button to reset the zoom and scroll to default values. The ScrollPos property scrolls horizontally and/or vertically the control's default view. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property. The Zoom property defines the zoom factor of the control's content.
Example
oTree.Home(), zooms to 100% and scrolls the control to origin (0,0)
Home

Scroll(key)

The Scroll() method scrolls the window based on the giving key. The Scroll() method scrolls the view without changing the selection. The Select method selects the item and scrolls the view to make the selected item visible. The ScrollPos property scrolls horizontally and/or vertically the control's default view. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property.
Parameters:
Name Type Description
key string Specifies a key to determine the direction to scroll the view as follows:
  • "Home" {string}, scrolls to the left/top of the control
  • "End" {string}, scrolls to the right/end of the control
  • "Prior" or "PageUp"{string}, scrolls by a page left/up
  • "Next" or "PageDown" {string}, scrolls by a page right/down
  • "Up" or "ArrowUp" {string}, scrolls up
  • "Down" or "ArrowDown" {string}, scrolls down
  • "Left" or "ArrowLeft" {string}, scrolls left
  • "Right" or "ArrowRight" {string}, scrolls right
Example
The following sample code shows how to scroll the view by a page up or down using the Scroll() method:

 oTree.on("{PageUp}", oTree.Scroll.bind(oTree, "PageUp"));
 oTree.on("{PageDown}", oTree.Scroll.bind(oTree, "PageDown"));

where oTree is an object of Tree type
Scroll

SetAllowActions(value)

The SetAllowActions() method customizes the actions the user can perform once the control is clicked or touched. The order of the actions is very important, as the control checks each action from left to right until it finds a matching action for the performed mouse/touch event. The first matched action is performed, and the rest of the actions are ignored. So if you want to perform a specific action once the user clicks an item, and perform another action if the user clicks an area that does not contain any item, you should place the first action before the second one in the AllowActions property.

For instance:

  • "item-drag,scroll", the control performs the "item-drag" action once the user clicks an item and "scroll" action is possible only if the user clicks an area that does not contain any item
  • "scroll,item-drag", the "item-drag" action is never performed, as the "scroll" action is always matched first. The scroll by drag can be performed if the user clicks anywhere in the view no matter if an item is present or not

So each action should be placed in the allowActions field according to your needs.

Parameters:
Name Type Description
value string Indicates the actions the user can perform once the control is clicked or touched.

The format of the property is:

"action(shortcut,shortcut,...),action(shortcut,shortcut,...)..."
where
  • "action", defines the action to perform (as defined below)

    Action Description Flags
    "column-drag" Moves a column to a new position. The onchange("drag-column") event occurs when the user repositions a column via drag-and-drop, if the column's AllowDrag property is true. Not available if the control is read-only.
    "column-resize" Resizes columns by drag. If no flags are used, resizing is possible in both view and header areas. Requires control and column to be editable. The onchange("resize-column") event notifies that a column has been resized via UI interaction.
    • [view], resizing possible in view area
    • [header], resizing possible in column header
    "edit" Edits the cell being clicked. The onchange("change-cell") event occurs when the cell's value has been changed through the UI. Not available if the control is read-only.
    "fit" Fits a dragged area into the control's client area.
    "item-drag" Moves items by drag. The onchange("drag-item") event occurs once the user moves the item by drag an drop. Not available if the control is read-only.
    • [position], item can be moved within group without changing parent
    • [keepIndent], preserves indentation when moved to any position or parent
    • [any], item can be moved freely
    "item-resize" Resizes items by drag. The onchange("resize-item") event is raised only when the item height is changed by dragging. Only available if the control is editable and item's allowSizing=true.
    • [all], resizing one item adjusts all resizable items; otherwise only dragged or selected items are resized
    "scroll" Scrolls the control's content by drag.
    • [view], scroll possible in view area
    • [header], scroll possible in header area
    "select" Selects items by drag.
    "zoom" Zooms the control content at the dragging point.

    The expivot/js control supports additional actions as listed in the table below:

    Action Description Flags
    "format" Formats the column at the cursor, including content, appearance, and conditional formatting.

    The exgantt/js control supports additional actions as listed in the table below:

    Action Description Flags
    "chart-create" Creates item-bars by drag. Not available if the control is read-only.
    • [name=xxx], defines the name/type of the item-bar to create (e.g., [name=Task])
    • [key=xxx], defines the key of the item-bar to create
    • [shape=xxx], specifies the shape of the create-bar element
    • [height=xxx], sets the height of the create-bar element in pixels
    • [empty], allows creating item-bars on empty items
    • [auto], automatically adds the created item-bar when drag ends
    • [zero], allows creating zero-length item-bars
    "chart-fit" Fits a portion of the chart by drag. Not available if the control is read-only.
    • [chart], operation possible when clicking the chart
    • [level], operation possible when clicking the chart header
    • [overview], operation possible when clicking the control's overview
    "chart-link" Links item-bars by drag. Not available if the control is read-only.
    • [toggle], removes the link if bars are already linked
    "chart-move" Moves or resizes item-bars by drag, including resizing the percent of the item-bar. Not available if the control is read-only.
    "chart-percent" Resizes the percent of item-bars by drag. Not required if "chart-move" is included. Not available if the control is read-only.
    "chart-resize" Resizes the chart's unit width by drag. Not available if the control is read-only.
    • [chart], operation possible when clicking the chart
    • [level], operation possible when clicking the chart header
    "chart-select" Selects item-bars by drag.
    • [item], selects items by drag as well
    • [click-item], selects items when clicked as well
    "chart-zoom" Scales and resizes the chart by drag. Not available if the control is read-only.
    • [chart], zoom possible when clicking the chart
    • [level], zoom possible when clicking the chart header
    • [overview], zoom possible when clicking the control's overview
    "item-drag" Moves items by drag. The onchange("drag-item") event occurs once the user moves the item by drag an drop. Not available if the control is read-only.
    • [view], operation possible when clicking the view
    • [chart], operation possible when clicking the chart
    • [position], item can be moved within group without changing parent
    • [keepIndent], preserves indentation when moved to any position or parent
    • [any], item can be moved freely
    "overview-selection-resize" Resizes the chart using left/right margins of the overview-selection (available since 2.4).
    • [unsmooth], resize occurs unit by unit instead of pixel by pixel
    "scroll" Scrolls the control's content by drag.
    • [view], scroll possible in view area
    • [header], scroll possible in header area
    • [chart], scroll possible when clicking the chart
    • [level], scroll possible when clicking the chart header
    "select" Selects items by drag.
    • [view], operation possible when clicking the view
    • [chart], operation possible when clicking the chart

  • "shortcut", defines the event's button or/and the modifier-keys that are required to perform the action. The "shortcut" is a combination of none, one or more of the following values:
    • "Shift", indicates that the SHIFT key is pressed
    • "Ctrl" or "Control", indicates that the CTRL key is pressed
    • "Alt" or "Menu", indicates that the ALT key is pressed
    • "Meta" , indicates that the META key is pressed
    • "LButton", specifies that the mouse's left-button is pressed
    • "RButton", specifies that the mouse's right-button is pressed
    • "MButton", specifies that the mouse's middle/wheel-button is pressed
    • "Long", specifies that the action requires a "long" click or touch before it begins
    • "Double", specifies that the action requires a "double" click before it begins (this flag is available for non-dragable actions only such as "edit")
    • "+", indicates AND between values
Example
null {null}, indicates the control's default allowActions value
"" {string}, specifies that no operation is allowed once the user clicks or touches the control
"scroll" {string}, specifies that only "scroll" operation is allowed, no matter of the event's button or modifier-keys is pressed.
"column-resize[view](LButton)" {string}, allows resizing the columns (inside the view), while pressing the mouse's left-button only
"column-drag(Shift+LButton),item-drag,scroll" {string}, indicates that dragging a column is possible only if the user presses the mouse's left-button while SHIFT key is pressed, and "item-drag" or "scroll" is possible no matter of the event's button or modifier-keys in this order (if one operation is not possible, the next one is performed).
SetAllowActions

SetAllowDrop(value)

The SetAllowDrop() method specifies whether the user can drag and drop local files into the control. The AllowDrop property specifies whether the user can drag and drop local files into the control. By default, the AllowDrop property is set to false, so no file can be drop into the control. The control imports the file being dropped, using the Import method, based on the file extension.
Parameters:
Name Type Description
value boolean Indicates whether the user can drag and drop local files into the control.
Example
false {boolean}, no file can be drop into the control (default)
true {boolean}, the user can drag and drop files into the control
SetAllowDrop

SetAllowGroupBy(value)

The SetAllowGroupBy() method specifies whether the control supports group-by view. The group-by view is generated once the user drags a column to the control's group-by/sort bar. The SortBarVisible property must be true to display the group-by/sort bar. The onaddgroupitem event is triggered for each item when a group-by view is generated. The onremoveitem event is triggered for each item when a group-by view is removed. The GroupItem property determines whether an item is a group item. By default, the control does not support group-by view.
Parameters:
Name Type Description
value boolean Indicates a value that enable or disable group-by view.
Example
false {boolean}, no group-view is generated once the user drags a column to the control's group-by/sort bar
true {boolean}, the control supports group-by view
SetAllowGroupBy

SetBackground(value)

The SetBackground() method defines the display options to show different parts of the control. The Background property defines the display options to show different parts of the control. The Background property accepts a value of BackgroundOptions type that indicates the display options to show different parts of the control. The Shapes property gets or sets the visual-appearance for different parts of the control, such as header of the columns, rows or cells, and so on.
Parameters:
Name Type Description
value BackgroundOptions A value that indicates the display options to show different parts of the control.
Since:
  • 2.3

SetColumnAutoResize(value)

The SetColumnAutoResize() method defines whether the control will automatically size its visible columns to fit on the control's client width. The Width property of each visible column is adjusted proportionally so that all visible columns fit exactly within the control's client area. The AllowSizing property specifies whether the column is resizable or fixed. The ColumnAutoResize property proportionally resizes visible columns with AllowSizing set to true so that they fit the control's width. By default, ColumnAutoResize is false, and visible columns are not automatically resized to fit the control.
Parameters:
Name Type Description
value boolean A boolean value that indicates whether the control will automatically size its visible columns to fit on the control's client width.
Example
false {boolean}, no effect
true {number}, all visible columns are proportionally resized to fit the control's width
SetColumnAutoResize

SetColumnsFloatBarCaption(value)

The SetColumnsFloatBarCaption() method changes the caption of the columns float bar. The caption can include ex-HTML tags for formatting purposes. The ColumnsFloatBarCaption property is set to "Columns" by default. The floatbar displays the header of each sorted/grouped-columns. The ColumnsFloatBarVisible property shows or hides the control's floatbar. The ColumnsFloatBarSortOrder property defines the sort order to show the columns within the columns float bar.
Parameters:
Name Type Description
value string A value that indicates the caption of the columns float bar.
Example
"" {string}, hides the caption of the columns float bar
"&lt;b&gt;Columns&lt;/b&gt;" {string}, displays in bold the caption of the columns float bar
SetColumnsFloatBarCaption

SetColumnsFloatBarSortOrder(value)

The SetColumnsFloatBarSortOrder() method changes the sort order to show the columns within the columns float bar. The sort order can be ascending, descending or unsorted. The default sort order is unsorted. The sort order applies only to the columns float bar; it does not affect the order of the columns within the control. The ColumnsFloatBarVisible property must be set to a visible state to see the effect of this property. The ColumnsFloatBarCaption property defines the caption of the columns float bar.
Parameters:
Name Type Description
value number A value that indicates the sort order as explained:
  • 0 {number}, show columns unsorted
  • 1 {number}, show columns in ascending order (by name)
  • 2 {number}, shows columns in descending order (by name)
Example
0 {number}, show columns unsorted
1 {number}, show columns in ascending order (by name)
SetColumnsFloatBarSortOrder

SetColumnsFloatBarVisible(value)

The SetColumnsFloatBarVisible() method shows or hides the control's floatbar. The floatbar displays the header of each sorted/grouped-columns. The floatbar can be shown as docked to the right side of the control, or as floated over the control. The floatbar can display groupable columns, hidden columns, or a check-box for each column to show/hide the column. The ColumnsFloatBarSortOrder property specifies the sort order to show the columns within the columns float bar. By default, the ColumnsFloatBarVisible property is set to exColumnsFloatBarHidden (0), which hides the columns float bar.
Parameters:
Name Type Description
value Tree.ColumnsFloatBarVisibleEnum A value that indicates whether the control's floatbar is visible or hidden. The Tree.ColumnsFloatBarVisibleEnum type supports the following values:
  • exColumnsFloatBarHidden(0), the columns floatbar is hidden
  • exColumnsFloatBarVisibleIncludeGroupByColumns(1), the columns floatbar is visible, and it displays dragable (AllowDrag property) and groupable (AllowGroupBy property) columns of the control.
  • exColumnsFloatBarVisibleIncludeCheckColumns(2), the columns floatbar is visible, and it displays dragable (AllowDrag property), and a check-box for each Column to update its Visible property (shor or hide the column).
  • exColumnsFloatBarVisibleIncludeHiddenColumns(4), the columns floatbar is visible, and it displays dragable (AllowDrag property) and hidden (Visible property) columns of the control.
  • exColumnsFloatBarFloat(0x100), the columns floatbar is shows as floated. This flag can be combined with exColumnsFloatBarVisibleIncludeHiddenColumns, exColumnsFloatBarVisibleIncludeCheckColumns or exColumnsFloatBarVisibleIncludeGroupByColumns type.

The ColumnsFloatBarCaption property defines the caption of the columns float bar. The ColumnsFloatBarSortOrder property defines the sort order to show the columns within the columns float bar.

Example
false {boolean} or 0 {number}, hides the columns float bar
true {boolean}, 1 or Tree.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeGroupByColumns {number}, the columns float bar is visible and displays groupable columns
SetColumnsFloatBarVisible

SetConditional(value)

The SetConditional() method simultaneously defines all of the control's conditional formats. The conditional formatting feature enables you to apply formats to a cell or range of cells that dynamically change based on the cell's value or the result of a formula. The ConditionalFormats.Add method adds new conditional formats individually. The Conditional.Shape property defines the visual-appearance of the cell when the condition is met, and it accepts the same values of the Shapes property, such as backgroundColor, fontColor, fontStyle and so on.
Parameters:
Name Type Description
value ConditionalFormatOptions | Array.<ConditionalFormatOptions> An object of ConditionalFormatOptions type or an array of ConditionalFormatOptions objects that defines the control's conditions formats.
Since:
  • 3.3
Example
{
   expression: "value &gt; 100",
   shape:
   {
     frameColor: "black"
   },
   applyTo: "Total"
 } {ConditionalFormatOptions}, highlights the cells in the 'Total' column with values greater than 100
SetConditional

SetCountLockedColumns(value)

The SetCountLockedColumns() method locks columns on both the left and right sides of the view using a single byte in {high, low} format. The low nibble (0-15) specifies the number of left-locked columns, while the high nibble (0-15) specifies the number of right-locked columns (locked columns are fixed in place and do not scroll with the rest of the content). The Shapes/GetShapes()/SetShapes(value) {string}, defines the shapes each part of the control can display, including the locked columns. By default, the control displays no locked-columns. The Item.Lock property locks or unlocks the item, placing it at the top, bottom, or making it scrollable. The ShowLockedItems property indicates whether the locked/fixed items are visible or hidden.
Parameters:
Name Type Description
value number A byte value specifying the number of locked columns using the {high, low} format (@since 4.6). The low nibble (0-15) defines the number of left-locked columns, and the high nibble (0-15) defines the number of right-locked columns.
Example
0 {number}, indicates that the control displays no locked-columns
2 {number}, specifies that the first two-visible columns are locked (not scrollable and fixed to the left side of the control)
0x10 {number}, locks 1 column on the right (@since 4.6)
0x11 {number}, locks 1 column on the left and 1 on the right (@since 4.6)
SetCountLockedColumns

SetCrSize(value)

The SetCrSize() method changes the size to show the check-box/radio-button. The CellHasCheck/GetCellHasCheck()/SetCellHasCheck(value) {boolean}, shows or hides check-box, or radio-buttons for all cells within the column. The Cell.HasCheck property shows or hides the cell's check-box or radio-button is visible or hidden.
Parameters:
Name Type Description
value number A value that specifies the size to show the check-box/radio-button.
Example
0 {number}, displays no check-box/radio-button
24 {number}, specifies a size of 24x24 to display the check-box/radio-button
SetCrSize

SetCursors(value)

The SetCursors() method assigns or changes the mouse cursors for different parts of the control. These cursors determine the pointer appearance when the user hovers over specific areas, allowing you to provide visual feedback and enhance interactivity for each part of the control. The Cell.Cursor property gets or sets the mouse cursor for the cell itself. The Column.CellCursor property gets or sets the mouse cursor for the column's body/data/cells. The Column.Cursor property gets or sets the mouse cursor for the column itself (column's header).
Parameters:
Name Type Description
value string A string expression that defines the mouse cursor to display when pointing over different parts of the control.

The format of the property is:

"cursor(part),cursor(part),..."
where:
  • "cursor", defines the CSS mouse cursor to display while cursor hovers the part
  • "part", defines the name of the part the cursor is applied on (as defined below)
The "cursor" can be any of the following:
Cursor Description
"alias"indicates a shortcut or alias will be created
"all-scroll"indicates scrolling in any direction
"auto"lets the browser decide the cursor based on context
"cell"indicates a table cell
"col-resize"indicates a column can be resized horizontally
"context-menu"indicates a context menu is available
"copy"indicates something will be copied
"crosshair"a precise crosshair cursor
"default"the default arrow cursor
"e-resize"resize east (right edge)
"ew-resize"resize horizontally
"grab"indicates an item can be grabbed
"grabbing"indicates an item is being grabbed
"help"indicates help information is available
"move"indicates something can be moved
"n-resize"resize north (top edge)
"ne-resize"resize northeast (top-right corner)
"nesw-resize"resize along the northeast–southwest axis
"no-drop"indicates dropping is not permitted
"not-allowed"indicates the action is not allowed
"ns-resize"resize vertically
"nw-resize"resize northwest (top-left corner)
"nwse-resize"resize along the northwest–southeast axis
"pointer"the pointer cursor (a hand with a pointing finger)
"progress"indicates background processing
"row-resize"indicates a row can be resized vertically
"s-resize"resize south (bottom edge)
"se-resize"resize southeast (bottom-right corner)
"sw-resize"resize southwest (bottom-left corner)
"text"the text selection cursor (I-beam)
"url(...)"uses a custom cursor image (with optional fallback)
"vertical-text"the vertical text selection cursor
"w-resize"resize west (left edge)
"wait"indicates the program is busy
"zoom-in"indicates zooming in
"zoom-out"indicates zooming out
The "part" can be any of the following:
Part Description
"anchor" (hyperlink)defines the mouse-cursor when the mouse pointer hovers the anchor (the <a> ex-HTML part marks an anchor or hyperlink element) (@since 2.2)
"cell"defines the mouse-cursor when the mouse pointer hovers any cell
"check"defines the mouse-cursor to be shown when the mouse pointer hovers the check-box/radio-button
"column"defines the mouse-cursor to show when the mouse pointer hovers the column's header
"column-drag"defines the mouse-cursor while the column is dragging
"column-filter"defines the mouse-cursor to show when the mouse pointer hovers the column's filter-button
"drag-drop"defines the cursor while the item is being dragged using the "drag-drop" action
"expand"defines the mouse-cursor to be shown when the mouse pointer hovers the expand/collapse glyphs
"filterBar-caption"defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's caption field
"filterBar-caption-column"defines the mouse-cursor to show when the mouse pointer hovers a column of the filter-bar's caption field
"filterBar-close"defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's close button
"filterBar-prompt"defines the mouse-cursor to show when the mouse pointer hovers the filter-bar's prompt label
"item"defines the mouse-cursor when the mouse pointer hovers any item
"item-drag"defines the cursor while the item is being dragged using the "item-drag" action
"long"specifies the mouse-cursor to be shown as soon as a "long" click or touch action begins (see allowActions field)
"no"defines the mouse-cursor to be shown when no operation is allowed (for instance, dropping the item is not allowed in this area)

The expivot/js control supports additional parts as listed in the table below:

Part Description
"pivotBar-addNew"defines the mouse-cursor to show when the mouse pointer hovers the "add-new" buttons within the control's pivotbar
"pivotBar-aggregate"defines the mouse-cursor to show when the mouse pointer hovers an aggregate-glyph within the control's pivotbar
"pivotBar-total"defines the mouse-cursor to show when the mouse pointer hovers a total-field within the control's pivotbar
"pivotBar-refresh"defines the mouse-cursor to show when the mouse pointer hovers the "Refresh" button within the control's pivotbar

The exgantt/js control supports additional parts as listed in the table below:

Part Description
"create-bar"defines the mouse-cursor to show when the user creates a new item-bar
"create-link"defines the mouse-cursor to show when the user creates a new link
"itemBar"defines the mouse-cursor to show when the user hovers a movable and selectable item-bar
"itemBar-percent-resize"defines the mouse-cursor to show when the user hovers the bar's percent right-side
Example
"pointer(item),col-resize(column)" {string}, sets the mouse-cursor to "pointer" when hovering any item, and to "col-resize" when hovering any column header
SetCursors

SetDefaultItemHeight(value)

The SetDefaultItemHeight() method changes the item's default-height. The item's height is set to default-height when the item is added. If the item's height has been changed by the user (resized), then changing the default-height does not affect the item's height unless the item allows sizing (ItemAllowSizing property) and its height is reset to default-height. The Item.Height property gets or sets the height of the item. The Item.AllowSizing property indicates whether the item allows resizing by the user. By default, the DefaultItemHeight property is set to 24px.
Parameters:
Name Type Description
value number Specifies the item's default-height.
Example
null {null}, specifies that the item's height is 24 (by default)
18 {number}, changes the item's default height to 18
SetDefaultItemHeight

SetDrawGridLines(value)

The SetDrawGridLines() method shows or hides the control's grid-lines. The GridLines property customizes the color, width and style of the control's grid-lines. The GridLines property specifies the color, width and style of the control's grid-lines as an object of {width, color, style} type.
Parameters:
Name Type Description
value Tree.GridLinesEnum Specifies whether the control's grid-lines are visible or hidden The Tree.GridLinesEnum type supports the following flags:
  • exNoLines(0), no grid lines
  • exAllLines(-1), shows all vertical and horizontal grid lines
  • exRowLines(-2), shows grid lines for existing rows only
  • exHLines(1), shows only the horizontal grid lines
  • exVLines(2), shows only the vertical grid lines
Example
0 or Tree.GridLinesEnum.exNoLines {number}, hides the grid-lines (default)
-1 or Tree.GridLinesEnum.exAllLines {number}, shows all vertical and horizontal grid lines
SetDrawGridLines

SetEnsureOnSort(value)

The SetEnsureOnSort() method ensures that the selection fits the view's client-area once the user sorts or groups a column. The method scrolls the view, so the selection (including the parent-items) fits the view's client area. The Column.SortOrder property specifies the sort order of the column. The Sorts property of the Columns collection specifies the list of sorted columns within the tree-view. By default, the EnsureOnSort property is set to true, which scrolls the view to fit the selection once the user sorts or groups a column.
Parameters:
Name Type Description
value boolean Specifies whether the selection fits the view's client-area once the user sorts or groups a column.
Example
false {boolean}, no effect
true {boolean}, scrolls the view, so the selection (including the parent-items) fits the view's client area
SetEnsureOnSort

SetExpandGlyphSize(value)

The SetExpandGlyphSize() method changes the size to show the item's expand/collapse glyphs. The item displays expand/collapse glyphs only if it has child-items. The Item.Expanded property indicates whether the item is expanded or collapsed. The Item.ToggleExpand() method toggles the item's expand state. The Item.ShowExpand property specifies whether the item's expand/collapse glyphs is visible or hidden. By default the expand/collapse glyphs size is 16x16 pixels.
Parameters:
Name Type Description
value number A value that specifies the size to show the item's expand/collapse glyphs.
Example
0 {number}, displays no item's expand/collapse glyphs
24 {number}, specifies a size of 24x24 to display the item's expand/collapse glyphs
SetExpandGlyphSize

SetExpandOnDblClick(value)

The SetExpandOnDblClick() method changes whether the item is expanded or collapsed once the user double-clicks the item. The Item.Expanded property indicates whether the item is expanded or collapsed. The Item.ToggleExpand() method toggles the item's expand state. The Item.ShowExpand property specifies whether the item's expand/collapse glyphs is visible or hidden. By default, the ExpandOnDblClick property is set to true, which expands or collapses the item once the user double-clicks it.
Parameters:
Name Type Description
value boolean Specifies whether the item is expanded or collapsed once the user double-clicks the item.
Example
false {boolean}, the item is not expanded or collapsed once the user double-clicks it
true {boolean}, the item is expanded or collapsed once the user double-clicks it
SetExpandOnDblClick

SetFilterBarCaption(value)

The SetFilterBarCaption() method customizes the caption to display within the control's filter-bar. The FilterBarHeight property gets or sets the height to display the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. Setting the filter-bar height to 0 hides the control's filter-bar. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty.
Parameters:
Name Type Description
value string Indicates the caption to be shown within the control's filter-bar The filterBarCaption expression supports the following keywords, constants, operators and functions:
  • "value" or "current", returns the current filter as a string. At runtime the value may return a string such as
    "[<b>EmployeeID</b>] = '4| 5| 6' and [<b>ShipVia</b>] = 1</img>"
    , so the control automatically applies HTML format, which you can change it. For instance,
    "upper(value)"
    displays the caption in uppercase or "value replace `<b>` with `<fgcolor=808080>` replace `</b>` with `</fgcolor>`" displays the column's name with a different foreground color.
  • "itemcount", returns the total number of items as indicated by Items.Count property. At runtime the itemcount is a positive integer that indicates the count of all items. For instance,
    "value + `<fgcolor=808080>Total: ` + itemcount"
    includes in the filter bar the number of items aligned to the right.
  • "visibleitemcount", returns the number of visible items as indicated by Items.VisibleCount property. At runtime, the visibleitemcount is a positive integer if no filter is applied, and negative if a filter is applied. If positive, it indicates the number of visible items. The visible items does not include child items of a collapsed item. If negative, a filter is applied, and the absolute value minus one, indicates the number of visible items after filter is applied. 0 indicates no visible items, while -1 indicates that a filter is applied, but no item matches the filter criteria. For instance,
    "value + `<fgcolor=808080>` + ( visibleitemcount < 0 ? ( `Result: ` + ( abs(visibleitemcount) - 1 ) ) : ( `Visible: ` + visibleitemcount ) )"
    includes "Visible: " plus number of visible items, if no filter is applied or "Result: " plus number of visible items, if filter is applied, aligned to the right
  • "matchitemcount", returns the number of items that match the filter as indicated by Items.MatchCount property. At runtime, the matchitemcount is a positive integer if no filter is applied, and negative if a filter is applied. If positive, it indicates the number of items within the control (Items.Count property). If negative, a filter is applied, and the absolute value minus one, indicates the number of matching items after filter is applied. A matching item includes its parent items, if the control's FilterInclude property allows including child items. 0 indicates no visible items, while -1 indicates that a filter is applied, but no item matches the filter criteria. For instance,
    "value + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( `Result: ` + ( abs(matchitemcount) - 1 ) ) : ( `Visible: ` + matchitemcount ) )"
    includes "Visible: " plus number of visible items, if no filter is applied or "Result: " plus number of matching items, if filter is applied, aligned to the right
  • "leafitemcount", returns the number of leaf-items. A leaf item is an item with no child items. At runtime, the leafitemcount is a positive number that computes the number of leaf-items ( expanded or collapsed ). For instance,
    "value + `<fgcolor=808080><font ;6>` + leafitemcount"
    displays the number of leaf-items aligned to the right with a different font and foreground color.
  • "promptpattern", returns the pattern in the filter bar's prompt, as a string. The FilterBarPromptPattern specifies the pattern for the filter prompt. The control's filter bar prompt is visible, if the exFilterBarPromptVisible flag is included in the FilterBarVisible property.
  • "available", returns the list of columns that are not currently part of the control's filter, but are available to be filtered. A column is available to be filtered, if the DisplayFilterButton property of the Column object, is True. At runtime, the available keyword may return a string such as
    "<fgcolor=C0C0C0>[<s>OrderDate</s>]<fgcolor> </fgcolor>[<s>RequiredDate</s>]<fgcolor> </fgcolor>[<s>ShippedDate</s>]<fgcolor> </fgcolor>[<s>ShipCountry</s>]<fgcolor> </fgcolor>[<s>Select</s>]</fgcolor>"
    so the control automatically applies HTML format, which you can change it. For instance,
    "value + ` ` + available"
    displays the current filter, including all available columns to be filtered. For instance,
    "value + `` + available replace `C0C0C0` with `FF0000`"
    displays the available columns aligned to the right with a different foreground color.
  • "allui", returns the list of columns that are part of the current filter and available columns to be filtered. A column is available to be filtered, if the DisplayFilterButton property of the Column object, is True. At runtime, the allui keyword may return a string such as
    "[<b>EmployeeID</b>] = '4| 5| 6'<fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>OrderDate</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>RequiredDate</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>ShippedDate</s>]</fgcolor><fgcolor> </fgcolor>[<b>ShipVia</b>] = 1</img><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>ShipCountry</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>Select</s>]</fgcolor>"
    so the control automatically applies HTML format, which you can change it. For instance,
    "allui"
    displays the current filter, including all available columns to be filtered. For instance,
    "((allui + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(allui) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </bgcolor></fgcolor>` )"
    displays all available columns to be filtered with different background/foreground colors including the number of items/results
  • "all", returns the list of all columns ( visible or hidden ) no matter if the DisplayFilterButton property is True or False. At runtime, the all keyword may return a string such as
    "<fgcolor=C0C0C0>[<s>OrderID</s>]</fgcolor><fgcolor> </fgcolor>[<b>EmployeeID</b>] = '4| 5| 6'<fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>OrderDate</s>]</fgcolor><fgcolor> </fgcolor><fgcolor=C0C0C0>[<s>RequiredDate</s>]</fgcolor><fgcolor>"
    so the control automatically applies HTML format, which you can change it. For instance,
    "all"
    displays the current filter, including all other columns. For instance,
    "((all + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(allui) ? `` : `` ) + `` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </bgcolor></fgcolor>` )"
    displays all columns with different background/foreground colors including the number of items/results
Example
"" {string}, displays no filter bar while no filter is applied, else it displays the filter as default
"no filter" {string}, shows no filter caption all the time
"allui" {string}, displays all available columns (column's DisplayFilterButton property is true)
"value replace ` and ` with `&lt;off 4&gt; and &lt;/off&gt;` replace `|` with ` &lt;off 4&gt;or&lt;/off&gt; ` replace ` ` with ` `" {string}, replaces the AND and | values
"value replace `[` with `&lt;bgcolor=000000&gt;&lt;fgcolor=FFFFFF&gt;&lt;b&gt; ` replace `]` with ` &lt;/b&gt;&lt;/bgcolor&gt;&lt;/fgcolor&gt;`" {string}, highlights the columns being filtered with a different background/foreground colors.
SetFilterBarCaption

SetFilterBarHeight(value)

The SetFilterBarHeight() method changes the height to display the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. Setting the filter-bar height to 0 hides the control's filter-bar. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty. By default, the FilterBarHeight property is set to 24 pixels.
Parameters:
Name Type Description
value number A value that specifies the height to display the control's filter-bar.
Example
0 {number}, hides the control's filter-bar
24 {number}, indicates that the height of the control's filter-bar is 24
SetFilterBarHeight

SetFilterBarPrompt(value)

The SetFilterBarPrompt() method sets the caption to show while the pattern of the filter-prompt is empty. The FilterBarHeight property gets or sets the height to display the control's filter-bar. The FilterBarVisible property shows or hides the control's filter-bar. The FilterBarPromptColumns property specifies the list of columns the pattern of filter-prompt is applying to. The FilterBarPromptType property gets or sets the type of the control's filter-prompt.
Parameters:
Name Type Description
value string Specifies the caption to show while the pattern of the filter-prompt is empty.
Example
"" {string}, displays no caption (while the pattern of the filter-prompt is empty)
"&lt;i&gt;filter...&lt;/i&gt;" {string}, displays the message "filter..." in italics
SetFilterBarPrompt

SetFilterBarPromptColumns(range)

The SetFilterBarPromptColumns() method specifies the list of columns the pattern of filter-prompt is applying to. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty. FilterBarPrompt property supports ex-HTML formatting. The FilterBarVisible property shows or hides the control's filter-bar. The FilterBarHeight property gets or sets the height to display the control's filter-bar. The FilterBarPromptColumns property specifies the list of columns the pattern of filter-prompt is applying to. The FilterBarPromptType property gets or sets the type of the control's filter-prompt.
Parameters:
Name Type Description
range any Specifies the list of columns the pattern of filter-prompt is applying to, as explained below:
  • null {null} or -1 {number}, all columns (visible or hidden)
  • {number}, specifies the index of the column
  • {string}, specifies a list of index/identifier/key/caption/plain-caption, separated by comma character
  • {Column}, specifies the column reference
Example
null or -1 {null/number}, specifies that filter-prompt is applied to all columns (visible or hidden)
2 {number}, specifies that filter-prompt is applied to the column with index 2
"0,2,4" {string}, specifies that filter-prompt is applied to the columns with index 0, 2 and 4
"EmployeeID,ShipVia,ShipCountry" {string}, specifies that filter-prompt is applied to the columns with identifier/key/caption/plain-caption "EmployeeID", "ShipVia" and "ShipCountry"
SetFilterBarPromptColumns

SetFilterBarPromptPattern(value)

The SetFilterBarPromptPattern() method changes the pattern of the control's filter-prompt. The pattern is used to filter the items within the control based on the filterBarPromptType field. The FilterBarPrompt property gets or sets the caption to show while the pattern of the filter-prompt is empty. The FilterBarPromptType property gets or sets the type of the control's filter-prompt, as a value of the Tree.FilterPromptEnum enumeration. By default, the FilterBarPromptPattern property is an empty string ("").
Parameters:
Name Type Description
value string Indicates the pattern of the control's filter-prompt. Based on the filterBarPromptType field the filterBarPromptPattern field defines how the pattern filters for items as explained below:
  • filters for items that includes all of the sequences within the filter-pattern (exFilterPromptContainsAll)
  • filters for items that includes any of the sequences within the filter-pattern (exFilterPromptContainsAny)
  • filters for items that starts with any of the sequences within the filter-pattern (exFilterPromptStartWith)
  • filters for items that ends with any of the sequences within the filter-pattern (exFilterPromptEndWith)
  • filters for items that matches the filter-pattern, which may includes wild-characters such as ?, * or # (exFilterPromptPattern)
Example
"" {string}, clears the pattern of the filter-prompt
"A" {string}, filters for items includes "A" (exFilterPromptContainsAll)
"A* *B" {string}, filters for items start starts with "A" or ends with "B" (exFilterPromptPattern)
SetFilterBarPromptPattern

SetFilterBarPromptType(value)

The SetFilterBarPromptType() method changes the type of the control's filter-prompt. The type defines how the pattern of filter-prompt filters for items. The FilterBarVisible property shows or hides the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. The onfilter event notifies your application once the control's filter has been changed.
Parameters:
Name Type Description
value Tree.FilterPromptEnum Indicates the type of the control's filter-prompt. The Tree.FilterPromptEnum type supports the following flags:
  • exFilterPromptContainsAll(1), The list includes the items that contains all specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptContainsAny(2), The list includes the items that contains any of specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptStartWith(3), The list includes the items that starts with any specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptEndWith(4), The list includes the items that ends with any specified sequences in the filter. Can be combined with exFilterPromptCaseSensitive, exFilterPromptStartWords, exFilterPromptEndWords or exFilterPromptWords
  • exFilterPromptPattern(16), The filter indicates a pattern that may include wild characters to be used to filter the items in the list. Can be combined with exFilterPromptCaseSensitive. The filterBarPromptPattern field may include wild characters as follows:
    '?' for any single character
    '*' for zero or more occurrences of any character
    '#' for any digit character
    ' ' space delimits the patterns inside the filter
  • exFilterPromptCaseSensitive(0x0100), Filtering the list is case sensitive. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith, exFilterPromptEndWith or exFilterPromptPattern.
  • exFilterPromptStartWords(0x1200), The list includes the items that starts with specified words, in any position. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith.
  • exFilterPromptEndWords(0x2200), The list includes the items that ends with specified words, in any position. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith.
  • exFilterPromptWords(0x3200), The filter indicates a list of words. Can be combined with exFilterPromptContainsAll, exFilterPromptContainsAny, exFilterPromptStartWith or exFilterPromptEndWith.
Example
2 or Tree.FilterPromptEnum.exFilterPromptContainsAny {number}, filters for items that contains any sequences in the filter
0x3202 or Tree.FilterPromptEnum.exFilterPromptContainsAny | Tree.FilterPromptEnum.exFilterPromptWords {number}, filters for items that contains any words in the filter
0x3203 or Tree.FilterPromptEnum.exFilterPromptStartWith | Tree.FilterPromptEnum.exFilterPromptWords {number}, filters for items that starts with any word within the filter
SetFilterBarPromptType

SetFilterBarVisible(value)

The SetFilterBarVisible() method shows or hides the control's filter-bar. The filter-bar is displayed only if the control's FilterBarVisible property includes exFilterBarVisible or exFilterBarPromptVisible flags, or if any filter is applied and the FilterBarVisible property includes exFilterBarHidden flag. The onfilter event notifies your application once the control's filter has been changed. The onfilter event is triggered when the user applies a new filter or clears the existing filter.
Parameters:
Name Type Description
value Tree.FilterBarVisibleEnum Specifies a value of exontrol.Tree.FilterBarVisibleEnum type that to show, hide or customize the control's filter-bar The Tree.FilterBarVisibleEnum type supports the following flags:
  • exFilterBarHidden(0), indicates that the control's filter-bar is visible only if the control has a filter applied (use the filterBarHeight on 0 to effectively hides the control's filter-bar)
  • exFilterBarPromptVisible(1), specifies that the control's filter-bar displays the filter prompt
  • exFilterBarVisible(2), forces the control's filter-bar to be shown, no matter if any filter is applied
  • exFilterBarCaptionVisible(4), forces the control's filter-bar to display the FilterBarCaption property.
  • exFilterBarSingleLine(16), specifies that the caption on the control's filter bar is displayed on a single line. The exFilterBarSingleLine flag , specifies that the filter bar's caption is shown on a single line, so
    HTML tag or \r\n are not handled. By default, the control's filter description applies word wrapping. Can be combined to exFilterBarCompact to display a single-line filter bar. If missing, the caption on the control's filter bar is displayed on multiple lines. You can change the height of the control's filter bar using the FilterBarHeight property.
  • exFilterBarToggle(256), specifies that the user can close the control's filter bar ( removes the control's filter ) by clicking the close button of the filter bar or by pressing the CTRL + F, while the control's filter bar is visible. If no filter bar is displayed, the user can display the control's filter bar by pressing the CTRL + F key. While the control's filter bar is visible the user can navigate though the list or control's filter bar using the ALT + Up/Down keys. If missing, the control's filter bar is always shown if any of the following flags is present exFilterBarPromptVisible, exFilterBarVisible, exFilterBarCaptionVisible.
  • exFilterBarShowCloseIfRequired(512), indicates that the close button of the control's filter bar is displayed only if the control has any currently filter applied.
  • exFilterBarShowCloseOnRight(1024), specifies that the close button of the control's filter bar should be displayed on the right side.
  • exFilterBarCompact(2048), compacts the control's filter bar, so the filter-prompt will be displayed to the left, while the control's filter bar caption will be displayed to the right. This flag has effect only if combined with the exFilterBarPromptVisible. This flag can be combined with the exFilterBarSingleLine flag, so all filter bar will be displayed compact and on a single line.
  • exFilterBarShort(4096), specifies that the control's filter bar is displayed only on the default-view (has effect if the control displays multiple views).
Example
0 or Tree.FilterBarVisibleEnum.exFilterBarHidden {number}, (default) the control's filter-bar is visible only if there is a filter applied.
1 or Tree.FilterBarVisibleEnum.exFilterBarPromptVisible {number}, the control's filter-bar is visible and shows the control's filter-prompt
SetFilterBarVisible

SetFilterInclude(value)

The SetFilterInclude() method specifies the items to include once the control's filter is applied. The Tree.FilterIncludeEnum type supports various flags that define the items to include once the control's filter is applied. The exMatchIncludeParent flag can be combined with any other value to include the parent-items that match the filter.
Parameters:
Name Type Description
value Tree.FilterIncludeEnum Specifies a value of Tree.FilterIncludeEnum type that specifies the items to include once the control's filter is applied The Tree.FilterIncludeEnum type supports the following flags:
  • exItemsWithoutChilds(0), items (and parent-items) that match the filter are shown (no child-items are included)
  • exItemsWithChilds(1), items (parent and child-items) that match the filter are shown
  • exRootsWithoutChilds(2), only root-items (excludes child-items) that match the filter are displayed
  • exRootsWithChilds(3), root-items (and child-items) that match the filter are displayed
  • exMatchingItemsOnly(4), shows only the items that matches the filter (no parent or child-items are included)
  • exMatchIncludeParent(0xF0), specifies that the item matches the filter if any of its parent-item matches the filter. The exMatchIncludeParent flag can be combined with any other value
Example
null {null}, specifies the control's default FilterInclude property (Tree.FilterIncludeEnum.exItemsWithoutChilds), so items (and parent-items) that match the filter are shown (no child-items are included)
4 or Tree.FilterIncludeEnum.exMatchingItemsOnly {number}, shows only the items that matches the filter (no parent or child-items are included)
0xF4 or Tree.FilterIncludeEnum.exMatchingItemsOnly | Tree.FilterIncludeEnum.exMatchIncludeParent {number}, shows the items (including the child-items) that match the filter
SetFilterInclude

SetFormatText(value)

The SetFormatText() method changes the format to display the cell's caption. The Cell.FormatText property gets or sets the format to display the cell's caption. The Column.FormatText property gets or sets the format to display the column's header caption. The format defines the text's alignment, wrapping, clipping, and other display options. The Tree.FormatText property is used as default format for the cells or columns that do not have their own format defined. Shortly, if the Cell.Format property is null, the Tree.FormatText property is used to display the cell's caption; if the Column.Format property is null, the Tree.FormatText property is used to display the column's header caption.
Parameters:
Name Type Description
value exontrol.DrawTextFormatEnum Specifies a value of exontrol.DrawTextFormatEnum value that defines the format to show the cell's caption. The exontrol.DrawTextFormatEnum type supports the following flags:
  • exTextAlignTop (0x00), justifies the text to the top of the rectangle
  • exTextAlignLeft (0x00), aligns text to the left
  • exTextAlignCenter (0x01), centers text horizontally in the rectangle
  • exTextAlignRight (0x02), aligns text to the right
  • exTextAlignVCenter (0x04), centers text vertically
  • exTextAlignBottom (0x08), justifies the text to the bottom of the rectangle.
  • exTextAlignMask (0x0F), specifies the mask for text's alignment.
  • exTextWordBreak (0x10), breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line. If this is not specified, output is on one line.
  • exTextSingleLine (0x20), displays text on a single line only. Carriage returns and line feeds do not break the line.
  • exTextExpandTabs (0x40), expands tab characters. The default number of characters per tab is eight.
  • exPlainText (0x80), treats the text as plain text.
  • exTextNoClip (0x0100), draws without clipping.
  • exHTMLTextNoColors (0x0200), ignores the and tags.
  • exTextCalcRect (0x0400), determines the width and height of the text.
  • exHTMLTextNoTags (0x0800), ignores all HTML tags.
  • exTextPathEllipsis (0x4000), for displayed text, replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, exTextPathEllipsis preserves as much as possible of the text after the last backslash.
  • exTextEndEllipsis (0x8000), for displayed text, if the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses.
  • exTextWordEllipsis (0x040000), truncates any word that does not fit in the rectangle and adds ellipses.
Example
null {null}, centers the caption
32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line caption
0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line caption right/bottom-aligned
"right" {string}, defines a caption right-aligned
SetFormatText

SetGridLines(value)

The SetGridLines() method customizes the color, width and style of the control's grid-lines. The GridLines property customizes the color, width and style of the control's grid-lines. The GridLines property specifies the color, width and style of the control's grid-lines as an object of {width, color, style} type. By default, the GridLines property is set to:
{
  color: "gray",
  style: 1
}
Parameters:
Name Type Description
value object Specifies the color, width and style of the control's grid-lines as an object of {width, color, style} type as explained:
width {number}, specifies the line's width or size (1 by default)
color {string}, indicates the line's color (partial-black by default)
style {number[]}, specifies the dash pattern to show the lines (dotted by default)
Example
null {null}, resets the grid-lines to default (gray dotted lines with 1-pixel width)
{ color: "red", width: 2, style: [4,2] } {object}, changes the grid-lines to red color, 2-pixels width and dashed style
SetGridLines

SetGroupByFormatCell(value)

The SetGroupByFormatCell() method specifies the format of the cell to be displayed when the column gets grouped by. The Tree.AllowGroupBy property specifies whether the control supports group-by view. The group-by view is generated once the user drags a column to the control's group-by/sort bar. The Tree.SortBarVisible property must be true to display the group-by/sort bar. By default, the control does not support group-by view. The onaddgroupitem event is triggered for each item when a group-by view is generated. The onremoveitem event is triggered for each item when a group-by view is removed. The GroupItem property determines whether an item is a group item. The format of the cell to be displayed when the column gets grouped by can be specified for each column individually through the Column.GroupByFormatCell property, which overrides the default format specified by this method.
Parameters:
Name Type Description
value string Specifies the format of the cell to be displayed when the column gets grouped by The format-expression supports the following keywords:
value, indicates the value of the current cell ( "value/2 format ``", displays half of the value using current regional format )
%0, %1, %2, ... {any} specifies the value of the cell in the column with the index 0, 1 2, ... ( "currency(%0 + %1)", adds the value of first and second cell and displays it as a currency )
%C0, %C1, %C2, ... {string} specifies the caption of the cell, or the string the cell displays in the column with the index 0, 1 2, ... ( "%C0 + %C1", concatenates the caption of first and second cell )
%CD0, %CD1, %CD2, ... {any} specifies the cell's user-date in the column with the index 0, 1 2, ... ( "%CD0 ? value : ``", displays the cell's value only if the cell's data is not empty )
%CS0, %CS1, %CS2, ... {number} specifies the cell's state in the column with the index 0, 1 2, ... ( "(%CS0 ? `<b>` : ``) + value", displays the cell's value in bold only if the first cell is checked )
%CT0, %CT1, %CT2, ... {boolean} returns true if the cell displays a total field; otherwise, it returns false. The exTotalField / exTotalColumn flag specifies whether the cell displays a total field. For instance, "%CT1" refers to all cells in the second column that display totals, while "not %CT1" refers to all cells in the second column that do not display totals (@since 3.3)
%CE0, %CE1, %CE2, ... {boolean} returns true if the cell is editable; otherwise, it returns false.. For example, "%CE0" refers to all editable cells in the first column, while "not %CE1" refers to all cells in the second column that are read-only (@since 3.3)
%CC0, %CC1, %CC2, ... {number} retrieve the number of child items (this keyword consistently returns identical results for all cells since it pertains to the item that hosts each cell). The ChildCount property returns the number of child items. For example, "%CC0" identifies all parent items, while "%CC0 = 0" identifies all leaf items (@since 3.3)
%CX0, %CX1, %CX2, ... {boolean} returns true if the item hosting the cell is expanded, or false if it is collapsed (this keyword consistently returns identical results for all cells since it pertains to the item that hosts each cell). The Item.Expanded property specifically indicates whether the item is expanded or collapsed. For example, "%CX0" refers to all expanded items, while "not %CX0" identifies all collapsed items (@since 3.3)
The format-expression supports the following unary-operators:
  • exp(``), checks whether the item is expanded or collapsed ( "(exp(``) ? `<b>` : ``) + value", shows expanded-items in bold )
  • get(`aggregate(list,direction,formula)`), summarizes the cell based on "aggregate(list,direction,formula)" syntax, where:
    aggregate, must be one of the following:
    • sum, performs addition of values
    • min, retrieves the minimum value
    • max, retrieves the maximum value
    • count, counts the number of items
    • avg, calculates the average of values
    • std, gets standard-deviation of numbers
    • unique, counts how many distinct values are in the set (@since 4.3)
    list, must be one of the following:
    • a number expression that specifies the index of the item being referred
    • all, indicates all items, so the formula is being applied to all items
    • current, refers the current item
    • parent, refers to the parent item
    • root, refers to the root item (the root item has no parent items)
    direction, must be one of the following:
    • dir, collects only direct descendents (child-items)
    • rec, collects recursivelly the leaf descendents ( leaf items ). A leaf item is an item with no child items
    • all, collects all descendents
    Currently, the following items are excluded by aggregate functions:
    not-sortable items. The Item.Sortable property specifies whether the item can be sorted ( a sortable item can change its position after sorting, while a not-sortable item keeps its position after sorting. not-selectable items. The Item.Selectable property specifies whether the user can selects/focus the specified item. divider items. The Item.Divider property specifies whether the item displays a single cell, instead displaying whole cells.
    In conclusion, aggregate functions counts ONLY items that are sortable, selectable and not a divider-item.

    For instance:
    "get(`count(current,dir,1)`)", gets the count of child-items
    "get(`count(current,all,1)`)", gets the count of all child-items (implies recursively child items)
    "get(`count(current,rec,1)`)", counts the number of leaf items ( a leaf item is an item with no child items )
    "get(`sum(current,dir,%1 ? 1 : 0)`)", counts the number of child-items that have not-empty cells within the second-column
    "get(`sum(current,dir,value)`)", gets the total of values of child-items (direct descendent) within the same column
    "get(`sum(all,rec,value)`)", gets the total of values of leaf-items within the same column
    "get(`sum(parent,dir,dbl(%1) + dbl(%2))`)", gets the addition of all cells in the second (%1) and third (%2) column that are directly descendent of the parent item (sibling)
The format-expression supports the following binary-operators:
0 index `format`, gets the index of the item (0-based). The first added item has the index 0, the second added item has the index 1, and so on. The index of the item remains the same even if the order of the items is changed by sorting or grouping ( "1 index ``", gets the index of the item starting from 1 )
0 rindex `delimiter|format|format|...`, returns the recursive-index of the item ("1 rindex `.|A-Z`", returns values as A, A.1, A.2, B, ...)
0 pos `format`, returns the relative position of the item (the position within the parent's children collection) ( "1 pos ``", returns the position of the item (1-based) within the parent's child items collection )
0 rpos `delimiter|format|format|...`, returns the recursive relative-position of the item (the position within the parent's children collection) ( "1 rpos `.|A-Z`", returns values as A, A.1, A.2, B, ... )
0 opos `format`, returns the relative old position of the item (the position within the parent's children collection) ( "1 opos ``", returns the position of the item (1-based) within the parent's child items collection )
0 ropos `delimiter|format|format|...`, returns the recursive relative-old-position of the item (the position within the parent's children collection) ( "1 ropos `.|A-Z`", returns values as A, A.1, A.2, B, ... )
0 apos `format`, returns the absolute position of the item (the position from the first visible item) ( "1 apos ``", gets absolute position of the item )
0 rapos `delimiter|format|format|...`, returns the recursive absolute-position of the item (the position from the first visible item) ( "1 rapos `.|A-Z`", returns values as A, A.1, A.2, B, ... )
where:
  • `delimiter`, is a character to separated recursive-operators such as "rindex", "rpos", "ropos" and "rapos"
  • `format`, is a set of characters to be used for specifying the index
Additionally, it supports parent and root unary operators to access the values of parent or root items as explained:
parent (unary operator), refers to the parent item of the current item. This expression allows access to values or properties associated with the immediate parent in the hierarchy or structure ( "parent(1 index ``)", gets the index of the parent-item (1-based) ) (@since 4.3)
root (unary operator), refers to the root item of the current item's hierarchy. This expression allows access to values or properties of the highest-level item in the entire structure, regardless of how deeply nested the current item is ("root(%C0)", retrieves the caption of the first column for the root item) (@since 4.3)
Example
"" {string}, the default group-by value gets displayed once the column gets grouped by
"upper(value)" {string}, the default group-by value (in upper case) gets displayed once the column gets grouped by
"value + ` &lt;fgcolor gray&gt;` + get(`count(current,rec,1)`)" {string}, the default group-by value plus the count of items within the group gets displayed once the column gets grouped by
SetGroupByFormatCell

SetHasButtons(value)

The SetHasButtons() method shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). The items can still be expanded/collapsed by double-clicking the item. The expand/collapse glyphs are shown only if the item has child items. The HasLines property customizes the color, width and style of the control's hierarchy-lines. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The default value is true (the control shows the expand/collapse glyphs).
Parameters:
Name Type Description
value boolean Indicates whether the control shows or hides the expand/collapse glyphs.
Since:
  • 1.4
Example
false {boolean}, hides the expand/collapse glyphs (+/- buttons to expand-collapse the item)
true {boolean}, shows the expand/collapse glyphs (+/- buttons to expand
SetHasButtons

SetHasLines(value)

The SetHasLines() method customizes the color, width and style of the control's hierarchy-lines. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item).
Parameters:
Name Type Description
value object Specifies the color, width and style of the control's hierarchy-lines as an object of {width, color, style, cap, join} type as explained:
width {number}, specifies the line's width or size (1 by default)
color {string}, indicates the line's color (partial-black by default)
style {number[]}, specifies the dash pattern to show the lines (dotted by default)
cap {("butt"|"round"|"square")}, determines the shape used to draw the end points of lines ("butt", the ends of lines are squared off at the endpoints by default)
join {("bevel"|"round"|"miter")}, determines the shape used to join two line segments where they meet ("miter", connected segments are joined by extending their outside edges to connect at a single point, with the effect of filling an additional lozenge-shaped area. by default)
Since:
  • 1.4
Example
null {null}, no hierarchy lines are shown
{width: 2, color: "red", style: [4,2], cap: "round", join: "bevel"} {object}, shows hierarchy-lines with red color, 2-pixels width, dashed style, round line-caps and bevel line-joins
SetHasLines

SetHeaderEnabled(value)

The SetHeaderEnabled() method enables or disables the control's header(includes the control's sortbar or floatbar). While disabled the user can't move, resize, sort or drag and drop the columns by drag and drop. The HeaderHeight property gets or sets the height to display the control's header. The HeaderVisible property shows or hides the control's header. By default, the HeaderEnabled property is set to true, which enables the control's header.
Parameters:
Name Type Description
value boolean A value that indicates whether the control's header is enabled or disabled.
Since:
  • 2.4
Example
false {boolean} or 0 {number}, disables the control's header
true {boolean} or 1 {number}, enables the control's header
SetHeaderEnabled

SetHeaderHeight(value)

The SetHeaderHeight() method changes the height to display the control's header. The header displays the header of each visible-columns. The HeaderVisible property shows or hides the control's header. The HeaderEnabled property enables or disables the control's header(includes the control's sortbar or floatbar). By default, the header's height is 24 pixels.
Parameters:
Name Type Description
value number A value that specifies the height to display the control's header.
Example
0 {number}, hides the control's header
24 {number}, indicates that the height of the control's header is 24
SetHeaderHeight

SetHeaderVisible(value)

The SetHeaderVisible() method shows or hides the control's header. The header displays the header of each visible-columns. The HeaderHeight property specifies the height to display the control's header. The HeaderEnabled property enables or disables the control's header(includes the control's sortbar or floatbar). By default, the HeaderVisible property is set to exHeaderVisible(-1), which shows the control's header.
Parameters:
Name Type Description
value Tree.HeaderVisibleEnum A value that indicates whether the control's header is visible or hidden. The Tree.HeaderVisibleEnum type defines the following values:
    exHeaderHidden(0), the control's header is hidden exHeaderVisible(-1), the control's header is visible exHeaderVisibleExtendLevels(1), the control's header is visible, and each column's header is extended to cover all levels of the header
Example
false {boolean} or 0 {number}, hides the control's header
-1 {number} or Tree.HeaderVisibleEnum.exHeaderVisible {number}, shows the control's header
true {boolean} or 1 {number}, shows the control's header (each column's header is extended to cover all levels of the header)
SetHeaderVisible

SetHoistItem(value)

The SetHoistItem() method defines the control's hoisted item, promoting it along with all its visible children to the top level without altering its content or properties.

By default,

  • hoisting an item also displays all of its parent rows up to the root. To restrict the view so that only the hoisted item and its visible children are shown, set the FilterInclude property to exMatchingItemsOnly
  • when an item is hoisted, all of its child rows are automatically expanded. To preserve their original expand/collapse state, use the Layout property to save the current layout before changing the hoist, and restore it immediately afterward.
For reference, the Selection property specifies the currently selected row, while the Item property retrieves the row by its index.
Parameters:
Name Type Description
value any The value parameter could be any of the following:
  • {null}, removes any existing hoisted item and returns the control to its default state
  • {number}, indicates a numeric value that defines the index of the hoisted item
  • {string}, specifies a string expression that defines the identifier/key of the hoisted item
  • {Item}, specifies the object reference to the hoisted item
Since:
  • 4.8
Example
0 {number}, hoists the first item (index 0)
"id" {string}, hoists the item with the identifier/key "id"
item {Item}, hoists the item referenced by the Item object
SetHoistItem

SetImageAlign(value)

The SetImageAlign() method changes the alignment of the cell's image. The Cell.Image property gets or sets the cell's individual image. The Column.FormatImage property defines the expression to determine the images the column display. The Column.Image property sets or gets the column's image. The Column.ImageAlign property takes priority over the control's ImageAlign property, and the Cell.ImageAlign property takes priority over the Column.ImageAlign property. When the Cell.ImageAlign property is null, the alignment falls back to the Column.ImageAlign property, and if the Column.ImageAlign property is also null, the control's ImageAlign property is used. By default, the ImageAlign property is set to 0 (the image is aligned left to the caption).
Parameters:
Name Type Description
value number Defines the alignment of the cell's image as one of the following:
  • 0, the image is on the left of the cell's caption
  • 1, the image is on the right of the cell's caption
  • 2, the image is on the top of the cell's caption
  • 3, the image is on the bottom of the cell's caption
Example
null {null}, the image is aligned left to the caption (default)
1 {number}, the image is displayed to the right of the cell's caption
SetImageAlign

SetImageSize(value)

The SetImageSize() method changes the size of the cell's image. The Column.ImageSize property takes priority over the control's ImageSize property, and the Cell.ImageSize property takes priority over the Column.ImageSize property. When the Cell.ImageSize property is null, the size falls back to the Column.ImageSize property, and if the Column.ImageSize property is also null, the control's ImageSize property is used. In short, the size priority is: Cell -> Column -> Control.
Parameters:
Name Type Description
value any Indicates the size of the cell's image as explained:
  • {null}, Indicates that the cell's image is displayed as it is (full-sized).
  • {number}, Specifies that the cell's image is displayed into a square of giving size (same width and height). If 0 the item displays no image, if negative the cell's image is stretched to giving square, else the item's picture is scaled to fit the giving rectangle.
  • {number[]}, Specifies an array of [aspect-width,aspect-height] type that defines the limits for width or/and height. The aspect-width and aspect-height define the width/height of the item's picture to scale or stretch to.
Example
null {null}, Indicates that the cell's image is displayed as it is (full-sized).
0 {number}, no image is displayed
64 {number}, the image is scaled to fit a 64 x 64 rectangle
-64 {number}, the image is strected to a 64 x 64 rectangle
[32,64] {array}, scales the image to the largest ratio-rectangle (32 x 64) that fits the client
[-32,-64] {array}, stretches the image to a 32 x 64 rectangle
SetImageSize

SetItemAllowSizing(value)

The SetItemAllowSizing() method determines whether all or none of the item are resizable or fixed. The allowActions field must include "item-resize" action to enable item resizing. The "item-resize[all]" action enables resizing all items, while the missing "item-resize" action disables resizing for all items. The Item.AllowSizing property can override this property for individual items. If allowActions property does not include "item-resize" action, then no item can be resized regardless of the ItemAllowSizing property value. The "item-resize[all]" action takes precedence over the ItemAllowSizing property. The DefaultItemHeight property is updated if the user resizes the item at runtime by drag an drop (AllowActions property must include "item-resize[all]").
Parameters:
Name Type Description
value boolean Specifies whether all or none of the item are resizable or fixed.
Example
false {boolean}, none of the items are resizable (unless the Item.AllowSizing property is true)
true {boolean}, all of the items are resizable (unless the Item.AllowSizing property is false)
SetItemAllowSizing

SetLinesAtRoot(value)

The SetLinesAtRoot() method links items at the root of the hierarchy. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The HasLines property customizes the color, width and style of the control's hierarchy-lines. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). By default, the control does not link the root items.
Parameters:
Name Type Description
value Tree.LinesAtRootEnum Specifies a value of Tree.LinesAtRootEnum type that indicates whether the root items are connected with a line.
Since:
  • 1.4
Example
0 or exontrol.Tree.LinesAtRootEnum.exNoLinesAtRoot {number}, no lines at root items
-1 or exontrol.Tree.LinesAtRootEnum.exLinesAtRoot {number}, the control links the root items
SetLinesAtRoot

SetLocked(value)

The SetLocked() method locks or unlocks the control. The user can't select any item, sort any column, or edit any item when the control is locked(protected). The ReadOnly property sets the control in read-only mode. While in read-only mode, the user can't edit or drag any item. The CountLockedColumns property locks columns on both the left and right sides of the view using a single byte in {high, low} format. The Item.Lock property locks or unlocks the item, placing it at the top, bottom, or making it scrollable. The ShowLockedItems property indicates whether the locked/fixed items are visible or hidden. By default, the control is unlocked.
Parameters:
Name Type Description
value boolean A boolean value that indicates whether the control is locked(protected) or unlocked.
Example
false {boolean}, unlocks the control (can select any item)
true {boolean}, locks the control (can't select any item)
SetLocked

SetLockedItemsCount(alignment, value) → {object}

The SetLockedItemsCount() method specifies the number of items fixed on the top or bottom side of the control. The Item.Lock property specifies or retrieves the section of the control where the item is placed - either locked at the top, scrollable, or locked at the bottom (@since 4.6). The locked/fixed items are not affected by sorting or grouping operations. The method adds or removes the locked items based on the specified value. If the value is less than the current number of locked items, then the method removes the extra locked items starting from the last locked item. If the value is greater than the current number of locked items, then the method adds new locked items at the end of the locked items collection. The SetLockedItemsCount() method returns the last locked-item as an object of Item type.
Parameters:
Name Type Description
alignment boolean Specifies whether the method refers to top(false) or bottom(true) locked items.
value number Specifies the number of items fixed on the top or bottom side of the control.
Returns:
Returns the last locked-item as an object of Item type
Type
object
Example
oTree.SetLockedItemsCount(false, 2); // specifies that there are 2 locked items on the top side of the control
  oTree.SetLockedItemsCount(true, 0);   // specifies that there is no locked item on the bottom side of the control
SetLockedItemsCount

SetMargins(value)

The SetMargins() method specifies the control's margins, which define the indentation between a parent and its children. The TreeColumnIndex property gets or sets the index or identifier/key/caption of the column that displays the hierarchy. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). By default, the Margins property is set to null, which indicates an indentation of 16-pixels between a parent and its children.
Parameters:
Name Type Description
value object Indicates an object of {indent} type that specifies control's margins.
Example
null {null}, the control uses the default indentation of 16-pixels between a parent and its children
{indent: 0} {object}, specifies no indentation between a parent and its children
{indent: 24} {object}, specifies an indentation of 24-pixels between a parent and its children
SetMargins

SetOnErrorChooseFile(value)

The SetOnErrorChooseFile() method specifies whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs. The onerror event occurs when an error occurs during the loading of the control, such as when the data source is not accessible or when the file being imported has an unsupported format. If the OnErrorChooseFile property is set to true, the control displays an input-file to let user choose a local file to import, as soon as an error occurs. If the user selects a file and clicks "Open", the control attempts to import the selected file using the Import method, based on the file extension. If the OnErrorChooseFile property is set to false, no input-file is displayed as soon an error occurs. The ChooseFile() method clears the control's data and adds an input-file element to let user choose a local file (CSV or XML format) to import data from. By default, the OnErrorChooseFile property is set to true, so the control displays an input-file to let user choose a local file to import, as soon as an error occurs.
Parameters:
Name Type Description
value boolean Indicates whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs.
Example
false {boolean}, no input-file is displayed as soon an error occurs
true {boolean}, the control displays an input-file to let user choose a local filte to import, as soon as an error occurs
SetOnErrorChooseFile

SetOptions(nOptions, bIncludeAllopt) → {boolean}

The SetOptions() method applies new options to the view. The options are defined by default in the exontrol.Tree.Options namespace, but they can be overridden by applying new options using the SetOptions() method. Each option corresponds to a Get/Set... method of the control. For instance, the "imageAlign" field corresponds to the SetImageAlign() method, and so on. The options are stored in the TV object, but they are applied to the control (exontrol.Tree) or to the view (TV) according to the option. The oTV field defines the control's base tree-view, where the options are applied by default, but some options can be applied to a specific view.
Parameters:
Name Type Attributes Description
nOptions object Specifies an object of Tree.Options type that indicates the new options to apply.
bIncludeAll boolean <optional>
Indicates whether all fields of nOptions are included in the item's oOptions object.
Returns:
Returns true, if there were options applied to the item
Type
boolean
Example
oTree.Options = {imageAlign: 1, imageSize: 24}, changes the alignment and the size for all images within the control.
oTree.Options = {headerVisible: true, headerHeight: 24}, shows the header and sets its size

The oTree.Options = value statement is equivalent with oTree.SetOptions(value) or oTree.oTV.SetOptions(value)
SetOptions

SetPad(value)

The SetPad() method changes the item's padding or the space between item's content and its borders. The Column.Pad property takes priority over the control's Pad property, and the Cell.Pad property takes priority over the Column.Pad property. When the Cell.Pad property is null, the padding falls back to the Column.Pad property, and if the Column.Pad property is also null, the control's Pad property is used. In short, the padding priority is: Cell -> Column -> Control. By default, the Pad property is set to null that indicates the default padding value of [4,4] is applied.
Parameters:
Name Type Description
value number | Array.<number> | string Specifies a value that could be:
  • {number} a numeric value, to pad horizontal and vertical size with the same value
  • {(string|number[])} a "x,y" or [x,y] type to specify the padding on horizontal and vertical side
Example
null {null}, indicates that the default padding value of [4,4] is applied
0 {number}, indicates no padding
"8,4" {string}, increases the item's width with 2 * 8-pixels and item's height with 2 * 4-pixels
[8,4] {array}, increases the item's width with 2 * 8-pixels and item's height with 2 * 4-pixels
SetPad

SetReadOnly(value)

The SetReadOnly() method sets the control in read-only mode. While in read-only mode, the user can't edit or drag any item. The user can still select items. The Locked property locks or unlocks the control. The user can't select any item, sort any column, or edit any item when the control is locked(protected). By default, the ReadOnly property is set to false (the control is editable).
Parameters:
Name Type Description
value boolean A boolean value that indicates whether the control is read-only.
Example
false {boolean}, the user can edit or drag any item
true {boolean}, the user can not edit or drag the items
SetReadOnly

SetScrollPos(value)

The SetScrollPos() method scrolls horizontally and/or vertically the control's default view. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property. The ScrollBars property specifies how the scroll-bars are being displayed into the control.
Parameters:
Name Type Description
value object | number Specifies an object of {x,y} type that defines the control's horizontal and vertical scroll-position. Alternatively, a number value could be specified to set the vertical scroll position only (@since 5.1).
Properties
Name Type Description
x number indicates the horizontal scroll-position (in pixels).
y number indicates the vertical scroll-position (in pixels).

SetShapes(value)

The SetShapes() method sets or changes the shapes assigned to each part of the control. These shapes determine the visual appearance of the control's elements, such as borders, fills, and other graphical components. Using this method, you can fully customize how each part of the control is drawn and displayed. The Cell.Shape property changes the shape for the cell itself. The Column.CellShape property gets or sets the shape to apply on the column's body/data/cells. The Column.Shape property changes the shape for the column itself (column's header). The Item.Shape property defines the shape for the item itself.
Parameters:
Name Type Description
value string A string expression that defines the shapes each part of the control can display.

The format of the property is:

"shape(part),shape(part),..."
where:
  • "shape", defines the shape to apply on the UI part as one of the following:

    ◦ any of 140 color names any browser supports (such as red, blue, green, ...)
    ◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
    ◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
    ◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
    ◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
    ◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
    ◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
    ◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
    ◦ specifies the name of the field within the exontrol.Shapes.Tree object (while it starts with a lowercase letter, such as shitem which refers to exontrol.Shapes.Tree.shitem shape)
    ◦ specifies the name of the field within the exontrol.Shapes object (while it starts with an uppercase letter, such as Button which refers to exontrol.Shapes.Button shape)

  • "part", defines the name of the part the shape is applied on (as defined below)
The shapes property supports any of the following parts:
Part Description
"cell"defines the visual-appearance for all cells within the control. The Cell.Shape property changes the shape for the cell itself. The Column.CellShape property gets or sets the shape to apply on the column's body/data/cells.
"check"defines the visual-appearance of the check-box
"column"defines the visual-appearance of column's header. The Column.Shape property changes the shape for the column itself (column's header).
"column-filter"defines the visual-appearance of column's filter-button
"expand"defines the visual-appearance of expand/collapse glyphs
"filterBar"defines the visual-appearance of the control's filter-bar
"filterBar-close"defines the visual-appearance of the filter-bar's close button
"frameFit"specifies the visual appearance of the frame that is displayed while fitting objects into the control's client area during a drag operation
"frameSel"defines the visual appearance to display a frame while selecting objects by drag
"item"defines the visual-appearance for all items within the control. The Item.Shape property defines the shape for the item itself.
"itemAlt"defines the visual-appearance for alternate-items (every second item). The Item.Shape property defines the shape for the item itself.
"itemDiv"defines the visual-appearance for divider-items (a divider-item displays only a single-cell). The Item.Shape property defines the shape for the item itself.
"lock"defines the visual-appearance for locked-part of the tree-view (left and right-side panel of the tree-view, determined by the countLockedColumns field, displays un-scrollable columns)
"lock-header"defines the visual-appearance for locked-part of the header (left and right-side panels of the header, determined by the countLockedColumns field, displays un-scrollable columns). The "lock-header" and "lock-header-right" are background shapes and may be overridden by columns, so set exontrol.Shapes.Tree.shcolumn.normal.fillColor = "rgba(0,0,0,0.25)" for a partially transparent background.
"lock-header-right"defines independent styling of right-locked-part of the header (right-side panel of the header, determined by the countLockedColumns field, displays un-scrollable columns). The "lock-header" and "lock-header-right" are background shapes and may be overridden by columns, so set exontrol.Shapes.Tree.shcolumn.normal.fillColor = "rgba(0,0,0,0.25)" for a partially transparent background. (@since 4.6)
"lock-items"defines the visual appearance of top or bottom-locked items in the tree view (these locked items, displayed in the top and bottom panels of the tree view (as determined by the SetLockedItemsCount method), remain fixed and do not scroll) (@since 4.6)
"lock-items-bottom"defines independent styling of the bottom-locked items in the tree view (these items appear in the bottom panel (as determined by the SetLockedItemsCount method) and remain fixed without scrolling) (@since 4.6)
"lock-right"defines independent styling of the right-locked columns (items section only, not including the header) (right-side panel of the tree-view, determined by the countLockedColumns field, displays un-scrollable columns) (@since 4.6)
"multiSel"specifies the visual appearance to show the count of multiple-selected items (for instance, when you drag and drop multiple items at once)
"radio"defines the visual-appearance of the radio-button
"select"defines the visual-appearance of selected-item
"sortBar-caption"defines the visual-appearance of control's sortbar when it displays no columns
"unlock"defines the visual-appearance for unlocked-part of the tree-view (ride-side panel of the tree-view, determined by the countLockedColumns field, displays scrollable columns)
"unlock-header"defines the visual-appearance for unlocked-part of the header (ride-side panel of the header, determined by the countLockedColumns field, displays scrollable columns)

The expivot/js control supports additional parts as listed in the table below:

Part Description
"itemTot"defines the visual-appearance for item of total type
"itemSub"defines the visual-appearance for item of sub-total type
"pivotBar-addNew"defines the visual-appearance of the "add-new" buttons within the control's pivotbar
"pivotBar-aggregate"defines the visual-appearance of an aggregate-glyph within the control's pivotbar
"pivotBar-idem"defines the visual-appearance of idem-columns within the control's pivotbar
"pivotBar-refresh"defines the visual-appearance of the "Refresh" button within the control's pivotbar
"pivotBar-total"defines the visual-appearance of a total-field within the control's pivotbar

The exgantt/js control supports additional parts as listed in the table below:

Part Description
"date-ticker"defines the visual-appearance to indicate the date-time being hovered
"level"defines the visual-appearance for level's header
"nw"defines the visual-appearance to show the non-working units
"select-bar"defines the visual-appearance of selected item-bar
"select-chart"defines the visual-appearance of selected-item (applied to chart section only)
"select-date"defines the visual-appearance to display a selected-date
"select-overview"defines the visual-appearance to display the overview-selection
"select-overview-resize"defines the visual-appearance to display left/right resize-margins of the overview-selection (@since 2.4)
"selectout-overview"defines the visual-appearance to display the left/right parts outside of the overview-selection (@since 2.4)
"selectunit-overview"defines the visual-appearance to display the selected unit within the control's overview (@since 2.4)
"unavailableunit-overview"defines the visual-appearance to display unavailable-units within the control's overview (@since 2.4)
Example
null {null}, specifies the default visual appearance
"" {string}, no shape (no visual appearance is applied to any part of the control)
"red(itemAlt)", "#FF0000(itemAlt)", "rgb(255,0,0)(itemAlt)", "rgba(255,0,0,1)(itemAlt)" {string}, shows alternate-items in red
'{"hover":{"fillColor":"black","tfi":{"fgColor":"white"}}}(item)' {string}, shows the item in white on a black-background, while the cursor hovers it
"xxx(d),yyy(d,m),zzz(y)"  {string}, specifies that the exontrol.Shapes.Tree.xxx combined with exontrol.Shapes.Tree.yyy object defines the visual appearance of "d" part of the control, exontrol.Shapes.Tree.yyy object defines the visual appearance of "m" part of the control and exontrol.Shapes.Tree.zzz object defines the visual appearance of "y" part of the control
SetShapes

SetShowLockedItems(value)

The SetShowLockedItems() method indicates whether the locked/fixed items are visible or hidden. The locked/fixed items are displayed on top or bottom side of the view based on the Item.Lock property that specifies or retrieves the section of the control where the item is placed - either locked at the top, scrollable, or locked at the bottom. The locked/fixed items are not affected by sorting or grouping operations.
Parameters:
Name Type Description
value boolean Specifies if the locked/fixed items are visible.
Example
false {boolean}, the control's locked/fixed items are not shown
true {boolean}, the control's locked/fixed items are visible
SetShowLockedItems

SetSingleSort(value)

The SetSingleSort() method specifies whether the control supports single or multiple-columns sort. The Sorts/GetSorts()/SetSorts(value) {string}, sorts(groups) multiple-columns at once giving a string-representation such as "1:A 2:D, 0:A". The Column.AllowSort property specifies whether the column is sortable. The Column.SortOrder property gets or sets the column's sort-order. The AllowGroupBy property specifies whether the control supports group-by view. The Column.AllowGroupBy property specifies whether the column can be grouped by. The onchange("sort-column") event notifies that a column has been sorted through user interaction by clicking its header. By default, the control supports multiple-columns sort.
Parameters:
Name Type Description
value boolean A value that indicates whether the control supports single or multiple-columns sort.
Example
false {boolean}, specifies that the control supports one ore more sorted-columns
true {boolean}, the control supports single-column sorts only
SetSingleSort

SetSmooth(value)

The SetSmooth() method changes the time in ms the control goes from one layout to another (0 indicates no smooth-transition is performed). The control performs a smooth-transition from one layout to another when the control's layout changes due to expanding/collapsing an item, sorting a column, resizing a column, ... By default, the Smooth property is set to 125 ms. Setting the Smooth property to 0 indicates that no smooth-transition is performed when the control goes from one layout to another.
Parameters:
Name Type Description
value number Indicates the time in ms the control goes from one layout to another.
Example
0 {number}, no smooth changes once the control goes from a layout to another
125 {number}, specifies that a smooth-transition is performed from a layout to another for 125 ms.
SetSmooth

SetSortBarCaption(value)

The SetSortBarCaption() method changes the caption to be shown on the control's sortbar when it is empty. The SortBarVisible/GetSortBarVisible()/SetSortBarVisible(value) {boolean}, shows or hides the control's sortbar. The sortbar displays the header of each sorted/grouped-columns. The Sorts/GetSorts()/SetSorts(value) {string}, sorts(groups) multiple-columns at once giving a string-representation such as "1:A 2:D, 0:A". By default, the control's sortbar shows the caption "Drag a column header here to sort by that column." when no columns has been dropped onto it.
Parameters:
Name Type Description
value string A value that indicates the caption to be shown on the control's sortbar when it is empty.
Example
null {null}, the control's sortbar shows the default-caption
"Drag a &lt;b&gt;column&lt;/b&gt; header here to group by that column." {string}, changes the caption to be displayed on the control's sortbar while it is empty.
SetSortBarCaption

SetSortBarVisible(value)

The SetSortBarVisible() method shows or hides the control's sortbar. The sortbar displays the header of each sorted/grouped-columns. The SortBarCaption/GetSortBarCaption()/SetSortBarCaption(value) {string}, specifies the caption to be shown on the control's sortbar when it is empty. The Sorts/GetSorts()/SetSorts(value) {string}, sorts(groups) multiple-columns at once giving a string-representation such as "1:A 2:D, 0:A". The AllowGroupBy property specifies whether the column can be grouped by.
Parameters:
Name Type Description
value boolean A value that indicates whether the control's sortbar is visible or hidden.
Example
false {boolean}, hides the control's sortbar
true {boolean}, shows the control's sortbar
SetSortBarVisible

SetSortOnClick(value)

The SetSortOnClick() method indicates whether the column gets sorted once the user clicks its header. The SortOnClick property indicates whether the column gets sorted once the user clicks its header as a value of exontrol.Tree.SortOnClickEnum type. By default, the SortOnClick property is set to exDefaultSort, meaning that the column gets sorted once the user clicks its header.
Parameters:
Name Type Description
value Tree.SortOnClickEnum Specifies a flag/value of exontrol.Tree.SortOnClickEnum type that defines the action the control takes once the user clicks the column's header. The Tree.SortOnClickEnum type defines the following values:
  • exNoSort(0), the column is not sorted when user clicks the column's header.
  • exDefaultSort(-1), The column gets sorted when user the clicks the column's header.
  • exUserSort(-1), The control displays the sort icons, but it doesn't sort the column (not supported)
Example
null {null}, specifies the control's default sort on click, equivalent of exDefaultSort
0 {number}, no column gets sorted once the user clicks any column's header
SetSortOnClick

SetTfi(value)

The SetTfi() method sets the font attributes for the control's captions, allowing precise customization of their appearance by specifying the text style (such as bold or italic), font family, and font size, either as a string (e.g., "b monospace 16") or as an object (e.g., {bold: true, italic: false, fontName: "monospace", fontSize: 16}), and immediately applies these settings to update the displayed captions. The font attributes are applied on items, columns, headers, footers, ...
Parameters:
Name Type Description
value string | object Indicates a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}.

The value as {string} supports any of the following keywords (each keyword can be specified using first letters only such as "b" for "bold) separated by space characters:

  • bold, displays the text in bold (equivalent of <b> tag)
  • italic, displays the text in italics (equivalent of <i> tag)
  • underline, underlines the text (equivalent of <u> tag)
  • strikeout, specifies whether the text is strike-through (equivalent of <s> tag)
  • <fontName name>, specifies the font's family (equivalent of <font name> tag)
  • <fontSize size>, specifies the size of the font (equivalent of <font ;size> tag)
  • <fgColor CSSColor>, specifies the text's foreground color (equivalent of <fgcolor> tag)
  • <bgColor CSSColor>, specifies the text's background color (equivalent of <bgcolor> tag)
  • <shaColor CSSColor;width;offset>, defines the text's shadow (equivalent of <sha color;width;offset> tag)
  • <outColor CSSColor>, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
  • <graColor CSSColor;mode;blend>, defines a gradient text (equivalent of <gra color;mode;blend> tag)

Any other word within the string value that's not recognized as a keyword is interpreted as:

  • name of the font (not a number), specifies the font's family (equivalent of <font name> tag)
  • size of the font (number), specifies the size of the font (equivalent of <font ;size> tag)

The value as {object} supports any of the following fields:

  • bold {boolean}, displays the text in bold (equivalent of <b> tag)
  • italic {boolean}, displays the text in italics (equivalent of <i> tag)
  • underline {boolean}, underlines the text (equivalent of <u> tag)
  • strikeout {boolean}, specifies whether the text is strike-through (equivalent of <s> tag)
  • fontName {string}, specifies the font's family (equivalent of <font name> tag)
  • fontSize {number}, specifies the size of the font (equivalent of <font ;size> tag)
  • fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of <fgcolor> tag)
  • bgColor {string}, specifies the text's background color (CSScolor) (equivalent of <bgcolor> tag)
  • shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of <sha color;width;offset> tag), where:
    • color {string}, defines the color of the text's shadow (CSScolor)
    • width {number}, defines the size of the text's shadow
    • offset {number}, defines the offset to show the text's shadow relative to the text
  • outColor {string}, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
  • graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of <gra color;mode;blend> tag), where:
    • color {string}, defines the gradient-color (CSScolor)
    • mode {number}, defines the gradient direction as 0 (left-right), 1 (default, top-bottom), 2 (left-center-right), and 3 (top-center-bottom)
    • blend {number}, defines the gradient blend as a value between 0 and 1

CSSColor or CSS legal color values can be specified by the following methods:

  • Hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF. For example, #0000ff value is rendered as blue, because the blue component is set to its highest value (ff) and the others are set to 00.
  • Hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF. For example, #0000ff80 defines a semi-transparent blue.
  • RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255. For example, rgb(0,0,255) defines the blue color.
  • RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, rgba(0,0,255,0.5) defines a semi-transparent blue.
  • HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors. For example, hsl(240, 100%, 50%) defines the blue color.
  • HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, hsla(240, 100%, 50%,0.5) defines a semi-transparent blue.
  • Predefined/Cross-browser color names, 140 color names are predefined in the HTML and CSS color specification. For example, blue defines the blue color.
Example
null {null}, the tfi field is ignored
"bold monospace 16 &lt;fg blue&gt;" {string}, defines Monospace font of 16px height, bold and blue
{bold: true, fontName: "monospace", fontSize: 16, fgColor: "blue"} {object}, defines Monospace font of 16px height, bold and blue
SetTfi

SetToolTipDelay(value)

The SetToolTipDelay() method sets the time the mouse pointer must hover over an object before the tool tip appears. Setting it to 0 makes tool tips appear immediately, while a higher value (for example, 128) introduces a delay to prevent accidental pop-ups when moving the mouse quickly across the control. The ToolTipPopDelay property determines how long the tool tip remains visible (in milliseconds) if the mouse pointer stays stationary, and the ToolTipWidth property sets the maximum width of the control's tool tip in pixels.
Parameters:
Name Type Description
value number A value that specifies how long the mouse pointer must point to an object before the tool tip appears.
Example
0 {number}, the tooltip is shown "immediately"
128 {number}, the tooltip is displayed in 128 ms.
SetToolTipDelay

SetToolTipPopDelay(value)

The SetToolTipPopDelay() method sets the duration, in milliseconds, that a tooltip remains visible when the mouse pointer is stationary over a control. The ToolTipPopDelay property is expressed in milliseconds. The ToolTipDelay property defines how long the mouse pointer must hover over an object before the tooltip appears. The ToolTipWidth property specifies the width of the tooltip window in pixels.

The property supports the following values:

  • 0 {number}, no tooltip is shown for any object (disabled)
  • -1 {number}, the tooltip stays indefinitely (negative)
  • positive {number}, the tooltip is visible for the specified number of milliseconds (for example, 1000 means that the tooltip is visible for 1 second)

By default, the tooltip remains visible for 5000 milliseconds.

Parameters:
Name Type Description
value number A value that specifies the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control.
Example
0 {number}, no tooltip is shown for any object (disabled)
-1 {number}, the tooltip stays indefinitely (negative)
1000 {number}, the tooltip is visible for 1 second
SetToolTipPopDelay

SetToolTipWidth(value)

The SetToolTipWidth() method changes the width of the tooltip window, in pixels. The ToolTipWidth property gets or sets the width of the tooltip window, in pixels. The ToolTipWidth property accepts a number value that specifies the width of the tooltip window, in pixels. The ToolTipDelay property gets or sets how long the mouse pointer must point to an object before the tool tip appears. The ToolTipPopDelay property gets or sets the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control.
Parameters:
Name Type Description
value number A value that specifies the width of the tooltip window, in pixels.
Example
0 {number}, no tooltip is shown for any object (disabled)
-1 {number}, the tooltip's content is displayed on a single line (without limit the width of it)
300 {number}, the tooltip's max-width is 300 pixels
SetToolTipWidth

SetTreeColumnIndex(value)

The SetTreeColumnIndex() method changes the index or identifier/key/caption of the column that displays the hierarchy. The HasButtons property shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item). The HasLines property customizes the color, width and style of the control's hierarchy-lines. The Margins property specifies the control's margins, which define the indentation between a parent and its children. By default, the TreeColumnIndex property is set to 0, which displays the hierarchy within the first column (index 0).
Parameters:
Name Type Description
value any Specifies the index or identifier/key/caption of the column that displays the hierarchy.
Example
null {null}, no column displays the hierarchy.
0 {number}, the column with the index 0, displays the hierarchy (displays the expand/collapse glyphs)
"xxx" {string}, the column with the key or plain-caption on "xxx" displays the hierarchy.
SetTreeColumnIndex

SetWheelChange(value)

The SetWheelChange() method sets the amount by which the control scrolls when the user rolls the mouse wheel. The control scrolls according to the value of the WheelChange property each time the wheel is rotated. Holding SHIFT while scrolling causes horizontal movement. By default, WheelChange is set to 18, meaning the control scrolls 18 pixels per wheel rotation. Setting WheelChange to 0 disables any action from the mouse wheel.
Parameters:
Name Type Description
value number A value that specifies the amount the control scrolls when the user rolls the mouse wheel.
Example
0 {number}, locks any action the mouse's wheel performs
18 {number}, scrolls the control by 18-pixels when mouse's wheel is rotated (SHIFT + wheel scrolls horizontally)
SetWheelChange

SetZoom(value)

The SetZoom() method defines the zoom factor of the control's content. The zoom factor determines how much the control's content is magnified or reduced. Once the user adjusts the browser's zoom level, the control automatically recalculates its zoom factor to maintain the correct scaling of its content. The ZoomLevels property defines the allowed zoom levels the user can select from.
Parameters:
Name Type Description
value number A numeric value between 10 and 1000 that specifies the zoom factor of the control's content.
Example
null {null}, Specifies normal-view (100%)
150 {number}, Indicates that the control's content is magnfied to 150%
SetZoom

SetZoomLevels(value)

The SetZoomLevels() method defines the zoomLevels factor of the control's content. The Zoom property defines the zoom factor of the control's content. The zoom factor determines how much the control's content is magnified or reduced. Once the user adjusts the browser's zoom level, the control automatically recalculates its zoom factor to maintain the correct scaling of its content.
Parameters:
Name Type Description
value string specifies a list of numbers separated by comma that indicates the zoom-levels/zoom-margins the control's content is allowed to zoom.
Example
null {null}, Specifies that the control's zoom factor is always 100%
150 {number}, Specifies that the control's zoom factor is always 150%
"50,100,200,350" {string}, Indicates that the zoom-factor can be any of selected values, and the margins of zoom-factor is 50% to 350%
SetZoomLevels

Smooth(callback, thisArg, oSmoothOptsopt, thisArg)

The Smooth() method performs a smooth-transition from a layout to another. The smooth-transition goes from the current layout to the new layout generated by the callback. The BeginUpdate/EndUpdate() methods are not required to be called when you use the Update() or Smooth() methods, because the methods already maintain performance while performing multiple changes to the control.
Parameters:
Name Type Attributes Description
callback callback Indicates a callback function that generates the new layout for the control ( such as removing or adding new items to the control). The callback is provided with no arguments.
thisArg any Specifies the value of this keyword for callback functions. If missing, the TV object reference is used instead.
oSmoothOpts object <optional>
Indicates an object of {cbkR,cbkI,cbkT} type that defines callback to invoke when Smooth operation begins, progress and ends as explained below:
  • cbkR {callback}, specifies a function of callback(oSmooth) type that's invoked while Smooth progressively runs
  • cbkI {callback}, specifies a function of callback(oSmooth) type that's invoked once the Smooth operation begins
  • cbkT {callback}, specifies a function of callback(oSmooth) type that's invoked once the Smooth operation ends
The oSmooth's parameter of cbkI, cbkR or cbkT callbacks is undefined while no animated-smooth, else it includes the following:
  • oW {exontrol.W}, indicates the current window as an object of exontrol.W
  • oZ {exontrol.WS}, holds the current visible-windows as an object of exontrol.WS([exontrol.W => [x,y,width,height]]) type (before apply the callback)
  • oNewZ {exontrol.WS}, holds the new visible-windows as an object of exontrol.WS([exontrol.W => [x,y,width,height]]) type (after callback has been applied)
  • rgWFT {object}, holds a collection of changes within windows as an object of exontrol.M1([exontrol.W => {from: [x,y,width,height], to: [x,y,width,height]}]) type
  • oWRend {exontrol.W}, indicates the window being rendered during the "Smooth" animation. For instance, if no UI window has been affected, invalidates the current window only, else renders the entire-canvas
  • progress {number}, specifies the state of the "Smooth" animation as a value between 0 and 1 (used by oSmooth.oNewZ.cbkget to define the ratio of window's UI rectange from/to)
Additionally, the oSmooth parameter includes the following:
  • mV2FT {map}, specifies a map of [view => {"items":{from,to,stkFT},"cvo-lock":{from,to,stkFT},...}] type that holds the from/to visible-objects for each part of each view
  • cbkHI {callback}, defines the rectangle a hidden-object should go to (a collapsed item should go to center of its visible-parent)
thisArg any defines the value of "this" keyword during cbkI, cbkR or cbkT callbacks.
Example
oTree.Smooth(function()
 {
  // performs multiple changes to the control, such as removing or adding new items to the control
 })
Smooth

Soom(zoomTo, oPointAbsopt)

The Soom() method zooms or/and scrolls the control's content. The Soom() method is used when the entire layout does not fit the control's client area, so zoom and/or scroll is required. The Soom() method can be used as a default action for double-click on the control's background or as a callback for a button to reset the zoom and scroll to default values. The ScrollPos property scrolls horizontally and/or vertically the control's default view. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property. The Zoom property defines the zoom factor of the control's content.
Parameters:
Name Type Attributes Description
zoomTo number Indicates a numeric value that defines the target-zoom factor as a value between 10 and 1000 (no zoom if null or undefined).
oPointAbs object <optional>
Specifies an object of {x,y} or array as [x,y] type that specifies the absolute-coordinates of the point to scroll into the client.
Example
oTree.Soom(100, [0,0]), zooms to 100% and brings the origin (0,0) at its original position (Home)
Soom

Events

onanchorclick

The onanchorclick() event occurs once the user clicks an anchor element (the <a id;options> ex-HTML part marks an anchor or hyperlink element). The Item.Value or Cell.Value property specifies the cell's caption including ex-html format. The onclick event is fired when the user clicks or double-clicks a cell or a column, and provides information about the cell, item or column being clicked, the view where the click occurred, whether it is a click or double-click, which button is pressed and which modifier keys are pressed.
Parameters:
Name Type Description
oEvent object Holds information about anchor being clicked.
Properties
Name Type Description
id string specifies null (no identifier has been specified for the anchor) or the anchor's identifier.
options string specifies null (no options has been specified for the anchor) or the anchor's options.
Since:
  • 2.2
Example
The following samples display information about the element being clicked:

oTree.Listeners.Add("onanchorclick", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.on("anchorclick", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.oTV.onanchorclick = function (oEvent)
{
 console.log(oEvent);
}

where oTree is an object of Tree type, oTV is member of Tree type, of TV type.
onanchorclick

onchange

The onchange event notifies the listeners that an object has changed. You can use the onchange event to notify your application once an item/column is expanded/collapsed, resized, checked/unchecked, dragged, or once a cell's value is changed and so on. The onchange event is raised by the control as soon as the change occurs, and it notifies the listeners by passing an object of {object,action} type that holds information about the change. The onchange event is generally fired as a result of UI activity affecting the control. For instance, called programatically changing the expanded state of an item (Item.Expanded property) doesn't fire the onchange event, while changing the expanded state by clicking the expand button of the item fires the onchange event.
Parameters:
Name Type Description
oEvent object specifies an object of {object,action} type, that holds information about the control's object being changed.
Properties
Name Type Description
object object The object field specifies the object being changed (expanded, checked, ...). The type of the object is based on the action it occured.
action string The action field specifies the name of the action, as one of the following:
  • "expand-item" {string}, notifies that an item has been expanded or collapsed (the object refers to an Item type). Setting the Item.Expanded property doesn't fire the onchange event, while changing the expanded state by clicking the expand button of the item fires the onchange event.
  • "resize-item" {string}, notifies that the item's height has been changed (the object refers to an Item type). Setting the Item.Height property doesn't fire the onchange event, while changing the height by dragging the item's bottom border fires the onchange event. The Item.AllowSizing property should be set to true to allow resizing the item by drag. Resizing the item via drag and drop is possible when the item-resize action is enabled in the AllowActions property.
  • "drag-item" {string}, notifies the user drags the item to a new position (the object refers to an Item type). The Item.Position and Item.Parent properties specifies the position of the item in the view. Setting the Item.Position or Item.Parent property doesn't fire the onchange event, while changing the position by dragging the item fires the onchange event. The "drag-item" action should be enabled in the AllowActions property to allow dragging the item to a new position.
  • "check-cell" {string}, notifies that a cell has been checked or unchecked (the object refers to Cell type). Setting the Cell.State property doesn't fire the onchange event, while changing the checked state by clicking the cell's checkbox fires the onchange event.
  • "change-cell" {string}, occurs after the cell's value has changed through UI editing (the object refers to Cell type). Setting the Cell.Value property doesn't fire the onchange event, while changing the value by editing the cell's content in the UI fires the onchange event. Editing the cell's content in the UI requires the "edit" action to be enabled in the AllowActions property.
  • "expand-column" {string}, notifies that a column has been expanded or collapsed (the object refers to an Column type). Setting the Column.Expanded property doesn't fire the onchange event, while changing the expanded state by clicking the expand button of the column's header fires the onchange event. The Column.ExpandColumns property defines the child-columns, or the columns to expand or collapse when clicking the expand button of the column's header.
  • "resize-column" {string}, notifies that a column has been resized (the object refers to an Column type). Setting the Column.Width property doesn't fire the onchange event, while changing the width by dragging the column's header border fires the onchange event. The Column.AllowSizing property should be set to true to allow resizing the column by drag. Resizing the column via drag and drop is possible when the "column-resize" action is enabled in the AllowActions property.
  • "show-column" {string}, notifies that a column has shows or hidden (the object refers to an Column type). Setting the Column.Visible property doesn't fire the onchange event, while changing the visibility by clicking the column's header context menu's show/hide option fires the onchange event. The onchange("show-column") event is fired when the user clicks the checkbox in the control's Columns float bar (with ColumnsFloatBarVisible set to exColumnsFloatBarVisibleIncludeCheckColumns) to show or hide a column.
  • "drag-column" {string}, notifies that a column has been moved to a new position (the object refers to an Column type). The Column.Position property specifies the position of the column in the view. Setting the Column.Position property doesn't fire the onchange event, while changing the position by dragging the column's header fires the onchange event. The "column-drag" action should be enabled in the AllowActions property to allow dragging the column to a new position. The Column.AllowDrag property specifies whether the column can be dragged to a new position.
  • "sort-column" {string}, notifies that a column has been sorted (the object refers to an Column type). Setting the Column.SortOrder property doesn't fire the onchange event, while changing the sort state by clicking the column's header fires the onchange event. The Column.AllowSort property specifies whether the column can be sorted by clicking its header.
Example
The following samples display information about the change once it occurs:

oTree.Listeners.Add("onchange", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.on("change", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.oTV.onchange = function (oEvent)
{
 console.log(oEvent);
}

where oTree is an object of Tree type. The oTV is member of Tree type, of TV type.
onchange

onclick

The onclick event occurs once the user clicks or double-clicks the control. Use the onclick event to perform actions when the user clicks or double-clicks an item, column or cell. The onclick event provides information about the click, such as the cell, item or column being clicked, the view where the click occurred, whether it is a click or double-click, which button is pressed and which modifier keys are pressed. The onclick event may not be fired if the Locked property is true. The onanchorclick event is fired when the user clicks an anchor element (the <a id;options> ex-HTML part marks an anchor or hyperlink element), and provides information about the anchor being clicked, such as the anchor's identifier and options.
Parameters:
Name Type Description
oEvent object specifies an object of {dblClick,button,modifiers,..} type, that holds information about the object being clicked.
Properties
Name Type Description
cell Cell specifies undefined or an object of Cell type that indicates the cell being clicked.
item Item specifies undefined or an object of Item type that indicates the item being clicked.
column Column specifies undefined or an object of Column type that specifies the column being clicked.
view object indicates an object of exontrol.Tree.TV, exontrol.Tree.TV.Header, ... type that specifies the view/window where the click occurred.
dblClick boolean indicates whether the user clicks or double-clicks the item.
button number indicates which button is pressed while clicking the item as 1 (left), 2 (right) or 4 (middle).
modifiers number specifies a combination of 1, 2, 4 and 16 according with modifier keys (ALT, CTRL, META and SHIFT), or 0 if no modifier keys.
Example
The following samples display information about the cell, item or column being clicked:

oTree.Listeners.Add("onclick", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.on("click", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.oTV.onclick = function (oEvent)
{
 console.log(oEvent);
}

where oTree is an object of Tree type. The oTV is member of Tree type, of TV type.
onclick

onscroll

The onscroll event notifies your application once the view has been scrolled. The onscroll event is fired when the user scrolls the view by mouse, touch or keyboard, or when the view's scroll is changed programmatically by ScrollPos property. The onscroll event is fired after the view's scroll has been changed and the visible items and columns have been re-calculated to fit the view. The control supports multiples views, so the onscroll event is fired for each view once it is scrolled.
Parameters:
Name Type Description
oEvent object Specifies an object of {view,type,value} that holds information about the view's scroll that has been changed.
Properties
Name Type Description
view TV specifies the view, where the scroll occurs.
type exontrol.SB.ModeEnum specifies the view's scroll that has changed as 0(vertical), 1(horizontal).
value number specifies the scroll's value. The ScrollPos property can be used to get or set the view's scroll position programmatically.
Example
The following samples display the view's scroll position once it is changed:

oTree.Listeners.Add("onscroll", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.or("scroll", function (oEvent)
{
 console.log(oEvent);
})

or

oTree.oTV.onscroll = function (oEvent)
{
 console.log(oEvent);
}

where oTree is an object of Tree type. The oTV is member of Tree type, of TV type.
onscroll