Options class (Tree)

Tree.Options()

new Options()

The Tree.Options type defines different options you can apply on the control.

Every option of the Tree.Options type has associated a property of the control. For instance, the option:

allowActions {string}, customizes the actions the user can perform once the user clicks or touches the control
is associated with the property:
AllowActions {string}, customizes the actions the user can perform once the user clicks or touches the control
which means that the following statements are equivalent:
oTree.Options = {allowActions: "scroll"}
oTree.SetOptions({allowActions: "scroll"})
oTree.AllowActions = "scroll"
oTree.SetAllowActions("scroll")
where oTree is an object of Tree type
Options

Members

(static) allowActions :string

The allowActions field customizes the actions the user can perform once the user clicks or touches the control. The format of allowActions field is:
"action(shortcut,shortcut,...),action(shortcut,shortcut,...)..."
where
  • "action", indicates the name of the action. The "action" can have any of the following values:
    • "scroll", scrolls the control's content by drag. The "scroll" action allows flags such as:
      • [view], specifies that the "scroll" is possible once the user clicks the view
      • [header], specifies that the "scroll" is possible once the user clicks the header of the view
    • "zoom", zooms the control's content at dragging-point.
    • "fit", fits the drag-area into the control's client area.
    • "select", selects items by drag
    • "drag-drop", carries out the drag and drop of the item (the item can be dropped inside or outside of the control). The ExDrop(event, data) method of the target HTML element is invoked once the user drops the item. The event parameter holds information about the mouse/touch event once the item has been dropped. The data parameter holds information about the source-object that initiated the drag and drop operation, as an object of {object,source,client,shape} type.
    • "edit", edits the cell being clicked (not available if the control is read-only)
    • "item-drag", moves items by drag (not available if the control is read-only). The "item-drag" action allows flags such as:
      • [position], The item can be dragged from a position to another, but not outside of its group. If your items are arranged as a flat list, no hierarchy, this option can be used to allow the user change the item's position at runtime by drag and drop. This option does not change the parent of any dragged item.
      • [keepIndent], The item can be dragged to any position or to any parent, while the dragging object keeps its indentation. This option can be used to allow the user change the item's position at runtime by drag and drop. In the same time, the parent's item could be changed but keeping the item's indentation.
      • [any], The item can be dragged to any position or to any parent, with no restriction (by default, if no flag is present).
    • "item-resize", resize items by drag (available only if the control's readOnly property is false, and item's allowSizing field is true). The "item-resize" action allows flags such as:
      • [all], specifies that once an item gets resized all resizable-items get resized (changes the control's defaultItemHeight property). If the [all] flag is missing, only the item (or all selected items) get resized
    • "column-resize", resizes columns by drag. If "column-resize" action has no flags it indicates that resizing is possible in view and header as well (available only if the control's readOnly property is false, and the column's allowSizing field is true). The "column-resize" action allows flags such as:
      • [view], specifies that the "column-resize" operation is possible in the view
      • [header], specifies that the "column-resize" operation is possible in the header of the view
    • "column-drag", drags the column to a new position (not available if the control is read-only)
  • "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
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).
allowActions

(static) allowDrop :boolean

The allowDrop field specifies whether the user can drag and drop local files into the control.
Type:
  • boolean
Example
false {boolean}, no file can be drop into the control
  true {boolean}, the user can drag and drop files into the control
allowDrop

(static) allowGroupBy :boolean

The allowGroupBy field specifies whether the control supports group-by view.
Type:
  • boolean
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
allowGroupBy

(static) background :BackgroundOptions

The background object holds display options to show different parts of the control, as an object of BackgroundOptions type.
Type:
  • BackgroundOptions
Since:
  • 2.3
background

(static) columnAutoResize :boolean

The columnAutoResize field specifies whether the control will automatically size its visible columns to fit on the control's client width.
Type:
  • boolean
Example
false {boolean}, no effect
 true {number}, all visible columns are proportionally resized to fit the control's width
columnAutoResize

(static) columnsFloatBarCaption :string

The columnsFloatBarCaption field defines the caption to display on the columns float bar.
Type:
  • string
Example
"" {string}, hides the caption of the columns float bar
 "<b>Columns" {string}, displays in bold the caption of the columns float bar
columnsFloatBarCaption

(static) columnsFloatBarSortOrder :number

The columnsFloatBarSortOrder field specifies the sort order to show the columns within the control's columns float panel. Specifies the columns sort-order as listed:
  • 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
Example
0 {number}, show columns unsorted
 1 {number}, show columns in ascending order (by name)
columnsFloatBarSortOrder

(static) columnsFloatBarVisible :Tree.ColumnsFloatBarVisibleEnum

The columnsFloatBarVisible field indicates whether the columns float bar 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 (AllowDragging property) and groupable (AllowGroupBy property) columns of the control.
  • exColumnsFloatBarVisibleIncludeCheckColumns(2), the columns floatbar is visible, and it displays dragable (AllowDragging 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 (AllowDragging 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.
.
Type:
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
columnsFloatBarVisible

(static) conditional :ConditionalFormatOptions|Array.<ConditionalFormatOptions>

The conditional object 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.
Type:
Since:
  • 3.3
Example
{
   expression: "value > 100",
   shape:
   {
     frameColor: "black"
   },
   applyTo: "Total"
 } {ConditionalFormatOptions}, highlights the cells in the 'Total' column with values greater than 100
conditional

(static) countLockedColumns :number

The countLockedColumns field specifies the number of locked columns (a locked column is not scrollable, and it is fixed to the left side of the control). The countLockedColumns field splits the view into lock and unlock parts. The lock-part hosts the columns that are fixed, and can not be scrolled.
Type:
  • number
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)
countLockedColumns

(static) crSize :number

The crSize field specifies the size to show the check-box/radio-button.
Type:
  • number
Example
0 {number}, displays no check-box/radio-button
 24 {number}, specifies a size of 24x24 to display the check-box/radio-button
crSize

(static) cursors :string

The cursors field specifies the mouse cursor to be displayed when pointing over a part of the control. The format of cursors 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 cursors property supports any of the following parts:
  • "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 field
  • "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
  • "column", defines the mouse-cursor to show when the mouse pointer hovers the column's header
  • "column-filter", defines the mouse-cursor to show when the mouse pointer hovers the column's filter-button
  • "column-drag", defines the mouse-cursor while the column is dragging
  • "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
  • "drag-drop", defines the cursor while the item is being dragged using the "drag-drop" action
  • "cell", defines the mouse-cursor when the mouse pointer hovers any cell
  • "expand", defines the mouse-cursor to be shown when the mouse pointer hovers the expand/collapse glyphs
  • "anchor" (hyperlink), defines the mouse-cursor when the mouse pointer hovers the anchor (the <a id;options> ex-HTML part marks an anchor or hyperlink element) (@since 2.2)
  • "check", defines the mouse-cursor to be shown when the mouse pointer hovers the check-box/radio-button
  • "no", defines the mouse-cursor to be shown when no operation is allowed (for instance, dropping the item is not allowed in this area)
  • "long", specifies the mouse-cursor to be shown as soon as a "long" click or touch action begins (see allowActions field)
.
Type:
  • string
Example
"pointer(xxx,yy)" {string}, indicates that the "pointer" mouse cursor is shown while cursor hovers any "xxx" or "yyy" part of the control
cursors

(static) data :any

The data field defines the source the control imports data from, as one of the following:
  • A String expression that specifies the URL to a CSV or XML file (contains no eof, eor or str). For example, "datasource.xml" imports the content of the 'datasource.xml' file
  • A String expression in CSV or XML format. For example, "Item 1.1,SubItem 1.2\r\nItem 1.2,SubItem 2.2" creates two columns and two rows
  • An array of [value] or [[value]] type that defines the data to load. For instance, [["Item 1.1","Item 1.2"],["Item 2.1","Item 2.2"]] creates two columns and two rows
  • An object of {columns, items} type, where 'columns' is an array of [(string|ColumnOptions)] type and 'items' is an array of [(string|ItemOptions)] type; the ItemOptions type supports a recursive 'items' property to specify child items. For instance, {columns: "Def", items: {value: "Root", expanded: false, items:["Child 1", "Child 2", "Child 3"]}} defines a single-column control with a collapsed root item labeled 'Root' and three child items named 'Child 1', 'Child 2', and 'Child 3', or {columns: [{caption: "C1", displayFilterButton: true}, "C2"], items: [{value: ["R1.1", "R1.2"], items: [["C1.1", "C1.2"], ["C2.1", "C2.2"], ["C3.1", "C3.2"]]}, ["R2.1", "R2.2"]]} defines a dataset with two columns labeled as C1 (with a filter button for user value filtering) and C2. It includes two root items and three child items under the first root, each specifying values for their respective cells in the table (@since 3.2)
  • An object that includes the "files" member of FileList type (representing a local file dropped into the control)
The Import(source, importOpts) method imports data from CSV, XML format. The Export(exportOpts) method exports the control's data as an array or CSV format.
Type:
  • any
Example
"xml/datasource.xml" {string}, imports data from datasource.xml file
"Item 1.1,SubItem 1.2\r\nItem 1.2,SubItem 2.2" {string}, creates two columns and two rows
[["Item 1.1","Item 1.2"],["Item 2.1","Item 2.2"]] {array}, creates two columns and two rows
{columns: [{caption: "C1", displayFilterButton: true}, "C2"], items: [{value: ["R1.1", "R1.2"], items: [["C1.1", "C1.2"], ["C2.1", "C2.2"], ["C3.1", "C3.2"]]}, ["R2.1", "R2.2"]]} {object} defines a dataset with two columns labeled as C1 (with a filter button for user value filtering) and C2. It includes two root items and three child items under the first root, each specifying values for their respective cells in the table (@since 3.2)
data

(static) defaultItemHeight :number

The defaultItemHeight field defines the item's default height.
Type:
  • number
Example
null {null}, specifies that the item's height is 24 (by default)
 18 {number}, changes the item's default height to 18
defaultItemHeight

(static) drawGridLines :Tree.GridLinesEnum

The drawGridLines field specifies whether the control's grid-lines are shown or hidden. Shows or hides the control's grid-lines. The gridLines field defines the color, width and style of the control's grid-lines. 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:
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
drawGridLines

(static) ensureOnSort :boolean

The ensureOnSort field ensures that the selection (including the parent-items) fits the view's client-area once the user sorts or groups a column.
Type:
  • boolean
Example
false {boolean}, no effect
 true {boolean}, scrolls the view, so the selection (including the parent-items) fits the view's client area
ensureOnSort

(static) expandGlyphSize :number

The expandGlyphSize field specifies the size to show the item's expand/collapse glyphs.
Type:
  • number
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
expandGlyphSize

(static) expandOnDblClick :boolean

The expandOnDblClick field specifies whether the item is expanded or collapsed once the user double-clicks the item.
Type:
  • boolean
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
expandOnDblClick

(static) filterBarCaption :string

The filterBarCaption field customizes the caption 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 ItemCount 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 VisibleItemCount 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 MatchItemCount 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 (ItemCount 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 macthing 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 FilterBarPromptVisible 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
"" {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 `<off 4> and </off>` replace `|` with ` <off 4>or</off> ` replace ` ` with ` `" {string}, replaces the AND and | values
 "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`" {string}, highlights the columns being filtered with a different background/foreground colors.
 
filterBarCaption

(static) filterBarHeight :number

The filterBarHeight field specifies the height to display the control's filter-bar.
Type:
  • number
Example
0 {number}, hides the control's filter-bar
 24 {number}, indicates that the height of the control's filter-bar is 24
filterBarHeight

(static) filterBarPrompt :string

The filterBarPrompt field specifies the caption to show while the pattern of the filter-prompt is empty.
Type:
  • string
Example
"" {string}, displays no caption (while the pattern of the filter-prompt is empty)
 "<i>filter...</i>" {string}, displays the message "filter..." in italics
filterBarPrompt

(static) filterBarPromptColumns :any

The filterBarPromptColumns field defines the list of columns the pattern of filter-prompt is applying to. 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
.
Type:
  • any
Example
null {null}, the pattern of filter-prompt is applying to all columns (visible or hidden)
 1 {number}, the pattern of filter-prompt is applying to a single-column only (the column wiht the index 1)
 "ID,Name" {string}, the pattern of filter-prompt is applying to columns "ID" and "Name" only
filterBarPromptColumns

(static) filterBarPromptPattern :string

The filterBarPromptPattern field defines the filter-pattern for 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
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)
filterBarPromptPattern

(static) filterBarPromptType :Tree.FilterPromptEnum

The filterBarPromptType field defines the type of control's filter-prompt (filterBarPromptPattern field) 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:
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
filterBarPromptType

(static) filterBarVisible :Tree.FilterBarVisibleEnum

The filterBarVisible field indicates whether the control's filter-bar is visible or hidden 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:
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
filterBarVisible

(static) filterInclude :Tree.FilterIncludeEnum

The filterInclude field 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
.
Type:
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
filterInclude

(static) formatText :exontrol.DrawTextFormatEnum

The formatText field specifies the format to display the item's caption. A combination of one or more exontrol.DrawTextFormatEnum flags that defines the format to show the item'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
formatText

(static) gridLines :object

The gridLines field defines the color, width and style of the control's grid-lines. The gridLines object includes any of the following properties:
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
gridLines

(static) groupByFormatCell :string

The groupByFormatCell field indicates 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 ExpandItem 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
    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 SortableItem 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 SelectableItem property specifies whether the user can selects/focus the specified item. divider items. The ItemDivider 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
.
Type:
  • string
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 + ` <fgcolor gray>` + 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
groupByFormatCell

(static) hasButtons :boolean

The hasButtons field shows or hides the expand/collapse glyphs (+/- buttons to expand-collapse the item).
Type:
  • boolean
Example
null {null} or true {boolean}, shows the expand/collapse glyphs
 false {boolean}, hides the expand/collapse glyphs
hasButtons

(static) hasLines :object

The hasLines field defines the color, width and style of the control's hierarchy-lines. The hasLines object includes any of the following:
  • width {number}, specifies the line's width or size (1 by default)
  • color {string}, indicates the line's color (partial-black by default)
  • style {array}, 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
hasLines

(static) headerEnabled :boolean

The headerEnabled field 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.
Type:
  • boolean
Since:
  • 2.4
Example
false {boolean} or 0 {number}, disables the headers of the control
 true {boolean}, enables the headers of the control
headerEnabled

(static) headerHeight :number

The headerHeight field specifies the height to display the control's header (specifies the height the header's level, where columns header is being shown). The header displays the header of each visible-columns.
Type:
  • number
Example
0 {number}, hides the control's header
 24 {number}, indicates that the height of the control's header is 24
headerHeight

(static) headerVisible :Tree.HeaderVisibleEnum

The headerVisible field specifies whether the control's header is visible or hidden. The header displays the header of each visible-columns. 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:
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)
headerVisible

(static) imageAlign :number

The imageAlign field defines the alignment of the image within the item. The imageAlign propery can be any of the following:
  • 0, the image is on the left of the item's caption
  • 1, the image is on the right of the item's caption
  • 2, the image is on the top of the item's caption
  • 3, the image is on the bottom of the item's caption
.
Type:
  • number
Example
null {null}, the image is aligned left to the caption (default)
 1 {number}, the image is displayed to the right of the item's caption
imageAlign

(static) imageSize :null|number|Array.<number>

The imageSize field defines the size of the item's image. The imageSize could be of one of the following types:
  • {null}, Indicates that the item's image is displayed as it is (full-sized).
  • {number}, Specifies that the item's image is displayed into a square of giving size (same width and height). If 0 the item displays no image, if negative the item'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:
  • null | number | Array.<number>
Example
null {null}, Indicates that the item'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
imageSize

(static) itemAllowSizing :boolean

The itemAllowSizing field specifies whether all or none of the items are resizable or fixed.
Type:
  • boolean
Example
false {boolean}, none of the items are resizable (unless the item's allowSizing field is true)
 true {boolean}, all of the items are resizable (unless the item's allowSizing field is false)
itemAllowSizing

(static) linesAtRoot :Tree.LinesAtRootEnum

The linesAtRoot field specifies how the control links the root items. The exontrol.Tree.LinesAtRootEnum type defines the following values:
  • exNoLinesAtRoot(0), no lines at root items
  • exLinesAtRoot(-1), the control links the root items
  • exGroupLinesAtRoot(1), the control shows no links between roots, and divides them as being in the same group
  • exGroupLines(2), the lines between root items are no shown, and the links show the items being included in the group
  • exGroupLinesInside(3), the lines between root items are no shown, and the links are shown between child only
  • exGroupLinesInsideLeaf(4), the lines between root items are no shown, and the links are shown for first and last visible child item
  • exGroupLinesOutside(5), the lines between root items are no shown, and the links are shown for first and last visible child item. A parent item that contains flat child items only, does not indent the child part. By a flat child we mean an item that does not contain any child item
.
Type:
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
linesAtRoot

(static) locked :boolean

The locked field indicates whether the control is locked(protected) or unlocked.
Type:
  • boolean
Example
false {boolean}, unlocks the control (can select any item)
  true {boolean}, locks the control (can't select any item)
locked

(static) margins :object

The margins field specifies control's margins (indicates an object of {indent} type that defines the control's margins).
Type:
  • object
margins

(static) onErrorChooseFile :boolean

The onErrorChooseFile field specifies whether the control displays an input-file to let user choose a local filte to import, as soon as an error occurs.
Type:
  • boolean
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
onErrorChooseFile

(static) pad :number|Array.<number>|string

The pad field defines the item's padding (space between the item's content and its border), as one of the following:
  • {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
Example
null {null}, indicates that the default-padding field is used ([4,4])
  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
pad

(static) readOnly :boolean

The readOnly field indicates whether the control is read-only.
Type:
  • boolean
Example
false {boolean}, the user can edit or drag any item
  true {boolean}, the user can not edit or drag the items
readOnly

(static) scrollBars :exontrol.ScrollBarsEnum

The scrollBars field determines whether the control has horizontal and/or vertical scroll bars A combination of one or more exontrol.ScrollBarsEnum flags that determines whether the control has horizontal and/or vertical scroll bars. The exontrol.ScrollBarsEnum type defines the following flags:
  • exNoScroll (0), specifies that no scroll bars are shown (scroll is not allowed)
  • exHorizontal (1), specifies that only horizontal scroll bars is shown
  • exVertical (2), specifies that only vertical scroll bars is shown
  • exBoth (3), specifies that both horizontal and vertical scroll bars are shown
  • exDisableNoHorizontal (5), specifies that the horizontal scroll bar is always shown, it is disabled if it is unnecessary
  • exDisableNoVertical (10), specifies that the vertical scroll bar is always shown, it is disabled if it is unnecessary
  • exDisableBoth (15), specifies that both horizontal and vertical scroll bars are always shown, disabled if they are unnecessary
  • exHScrollOnThumbRelease (0x100), specifies that the control's content is horizontally scrolled as soon as the user releases the thumb of the horizontal scroll bar (use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released)
  • exVScrollOnThumbRelease (0x200), specifies that the control's content is vertically scrolled as soon as the user releases the thumb of the vertical scroll bar (use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released)
  • exScrollOnThumbRelease (0x300), specifies that the control's content is scrolled as soon as the user releases the thumb of the horizontal scroll bar (use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released)
  • exHScrollEmptySpace (0x400), allows empty space, when the control's content is horizontally scrolled to the end
  • exVScrollEmptySpace (0x800), allows empty space, when the control's content is vertically scrolled to the end
  • exScrollEmptySpace (0xC00), allows empty space, when the control's content is scrolled to the end
  • exExtendSBS (0x3000), specifies that the control's scroll-bars are visible only when cursor hovers the window. Also, the control's client area is extended on the scroll bars portion
  • exMinSBS (0xC000), specifies that the control's scroll-bars are shown as minimized
  • exHideSBS (0x10000), specifies that no scroll bars are shown (scroll is allowed)
.
Type:
  • exontrol.ScrollBarsEnum
Example
0 or exontrol.ScrollBarsEnum.exNoScroll {number}, removes the control's scroll bars, so scroll is not allowed
 15 or exontrol.ScrollBarsEnum.exDisableBoth {number}, the control always displays the scroll bars, and they are active only if scroll is possible
 12291 or exontrol.ScrollBarsEnum.exBoth | exontrol.ScrollBarsEnum.exExtendSBS {number}, the control shows the scroll bars only if the cursor hovers the control, and the control scroll bars are hidden as soon as the cursor leaves the control
scrollBars

(static) scrollPos :object

The scrollPos field defines the horizontal and vertical scroll-position of the control's default view. Specifies 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
y {number}, indicates the vertical scroll-position
.
Type:
  • object
Example
{x: 100} {object}, scrolls horizontally to position 100
  {x: 100, y: 50} {object}, scrolls horizontally to position 100, and vertically to 50
scrollPos

(static) selection :any

The selection field defines the control's selection, as one of the following:
  • value {null}, clears the entire selection (unselect all)
  • value {number}, selects an item giving index within the items collection
  • value {string}, selects an item giving its identifier/key
  • value {Item}, selects an item giving its reference
  • value {Items}, selects all items within the control
  • value {array}, specifies an array of [type] type, where type could be any number, string or Item type.
.
Type:
  • any
Since:
  • 1.8
Example
null {null}, clears the entire selection
 0 {number}, selects the first-item
 [0,"id"] {number}, selects the first-item and the item with the identifier/key "id"
selection

(static) shapes :string

The shapes field defines the shapes each part of the control can display. The shapes field customizes the control's visual appearance. The format of shapes 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:
  • "lock", defines the visual-appearance for locked-part of the tree-view (left-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-side panel of the header, determined by the countLockedColumns field, displays un-scrollable 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)
  • "filterBar-close", defines the visual-appearance of the filter-bar's close button
  • "filterBar", defines the visual-appearance of the control's filter-bar
  • "sortBar-caption", defines the visual-appearance of control's sortbar when it displays no columns
  • "column", defines the visual-appearance of column's header
  • "column-filter", defines the visual-appearance of column's filter-button
  • "radio", defines the visual-appearance of the radio-button
  • "check", defines the visual-appearance of the check-box
  • "expand", defines the visual-appearance of expand/collapse glyphs
  • "cell", defines the visual-appearance for all cells within the control
  • "item", defines the visual-appearance for all items within the control
  • "itemDiv", defines the visual-appearance for divider-items (a divider-item displays only a single-cell)
  • "itemAlt", defines the visual-appearance for alternate-items (every second item)
  • "select", defines the visual-appearance of selected-item
  • "frameFit", defines the visual-appearance to display the frame while fitting objects into the control's client area by drag
  • "frameSel", defines the visual appearance to display a frame while selecting objects by drag
  • "multiSel", specifies the visual appearance to show the count of multiple-selected items (for instance, when you drag and drop multiple items at once)
.
Type:
  • string
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
shapes

(static) showLockedItems :boolean

The showLockedItems field indicates whether the locked/fixed items are visible or hidden.
Type:
  • boolean
Example
false {boolean}, the control's locked/fixed items are not shown
 true {boolean}, the control's locked/fixed items are visible
showLockedItems

(static) singleSel :Tree.SingleSelEnum

The singleSel field specifies whether the control supports single, multiple, toggle selection. The Tree.SingleSelEnum type defines the following flags:
  • exDisableSel(0), specifies that the control's selection is disabled (can not be combined with any other flags)
  • exEnableSel(1), specifies that the control's selection is enabled (multiple-selection, unless the exSingleSel is set )
  • exSingleSel(2), specifies that the user can select a item only
  • exToggleSel(4), specifies that the item's selection state is toggled once the user clicks a item.
  • exDisableCtrlSel(8), disables toggling the item's selection state when user clicks a item, while CTRL modifier key is pressed.
  • exDisableShiftSel(16), disables selecting items using the SHIFT key.
  • exDisableDrag(32), disables selecting items by drag.
.
Type:
Example
0 or exontrol.Tree.SingleSelEnum.exDisableSel {number}, disables selecting any item
 3 or exontrol.Tree.SingleSelEnum.exSingleSel | exontrol.Tree.SingleSelEnum.exEnableSel {number}, enables control's single selection, so only a single item can be selected
 6 or exontrol.Tree.SingleSelEnum.exToggleSel | exontrol.Tree.SingleSelEnum.exSingleSel {number}, enables control's single and toggle selection, which means that once a item is selected it gets unselected once it is clicked, or reverse, and only a single-item can be selected at once. 
singleSel

(static) singleSort :boolean

The singleSort field specifies whether the control supports single or multiple-columns sort.
Type:
  • boolean
Example
false {boolean}, specifies that the control supports one ore more sorted-columns
 true {boolean}, the control supports single-column sorts only
singleSort

(static) smooth :number

The smooth field defines the time in ms the control goes from one layout to another.
Type:
  • number
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.
smooth

(static) sortBarCaption :string

The sortBarCaption field specifies the caption to be shown on the control's sortbar when it is empty.
Type:
  • string
Example
null {null}, the control's sortbar shows the default-caption
 "Drag a <b>column</b> header here to drag by that column." {string}, changes the caption to be displayed on the control's sortbar while it is empty.
sortBarCaption

(static) sortBarVisible :boolean

The sortBarVisible field specifies whether the control's sortbar is visible or hidden. The sortbar displays the header of each sorted/grouped-columns.
Type:
  • boolean
Example
false {boolean}, hides the control's sortbar
 true {boolean}, shows the control's sortbar
sortBarVisible

(static) sortOnClick :Tree.SortOnClickEnum

The sortOnClick field indicates whether the column gets sorted once the user clicks its 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:
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
sortOnClick

(static) tfi :string|object

The tfi field applies font attributes to captions within the control. The tfi field can be defined using a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}.

The tfi field 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 tfi field 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 tfi field 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 mode as a value between 0 and 4
    • 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
null {null}, the tfi field is ignored
  "bold monospace 16 &lt;fg blue>" {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
tfi

(static) toolTipDelay :number

The toolTipDelay field specifies how long the mouse pointer must point to an object before the tool tip appears.
Type:
  • number
Example
0 {number}, the tooltip is shown "immediately"
  128 {number}, the tooltip is displayed in 128 ms.
toolTipDelay

(static) toolTipPopDelay :number

The toolTipPopDelay field specifies the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control.
Type:
  • number
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
toolTipPopDelay

(static) toolTipWidth :number

The toolTipWidth field indicates the max-width of the control's tooltip (in pixels).
Type:
  • number
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
toolTipWidth

(static) treeColumnIndex :number

The treeColumnIndex field specifies the index or identifier/key/caption of the column that displays the hierarchy.
Type:
  • number
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.
treeColumnIndex

(static) wheelChange :number

The wheelChange field specifies the amount the control scrolls when the user rolls the mouse wheel.
Type:
  • number
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 (CTRL + wheel scrolls horizontally)
wheelChange

(static) zoom :number

The zoom field defines the zoom factor of the control's content. The zoomLevels field defines the margins of the zoom-factor the control is allowed to magnify. The zoom field can be any value between 10 (10%) and 1000 (1000%).
Type:
  • number
Example
null {null}, Specifies normal-view (100%)
  150 {number}, Indicates that the control's content is magnfied to 150%
zoom

(static) zoomLevels :string

The zoomLevels field defines the zoom-levels the user can magnify the control's content (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
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%
zoomLevels