Building Hierarchies Made Easy: Edit, Undo, and Redo with Ease:

This movie demonstrates how to use the Copy, Cut, Paste, and Indent features to easily create and manage a hierarchical structure. You can perform these actions using keyboard shortcuts or through the context menu for convenience. The movie also highlights the Undo and Redo functionality, which lets you quickly reverse or repeat recent actions, making editing faster and easier, while helping you avoid mistakes. The Copy, Cut, Paste, and Indent features will be supported in the eXGrid and eXG2antt controls.

Graph availability for the eXPivot/JS version:

The eXPivot divides its area into four sections: one for applying aggregate functions to the pivot's cells, sections for pivot rows and columns that define the table structure, and a table section that can display either tabular data or graphical charts. The custom-view feature allows integration with any custom controls. In this example, eXGraph is used to enhance eXPivot with graphical capabilities. eXGraph visualizes the summarized information as columns, displaying aggregated data from eXPivot rather than raw values, which makes it easier to interpret trends and comparisons graphically. Click here to try or more sample here

The following video demonstrates how eXGraph adds graphical functionality to eXPivot:

The movie demonstrates how to display various types of charts based on the summarized data within the pivot control. The control can divide its area into four sections: one for applying aggregate functions to the pivot's cells, the pivot rows and columns that define the table structure, and the table section that can display either tabular data or graphical charts. The custom-view feature supports any type of custom controls. In this sample, the eXGraph is used to provide graphical features for eXPivot. The feature will be supported in the /COM, /NET, /WPF, and /JS versions as well.

The following video highlights an innovative feature designed to improve link visualization:

The following video demonstrates a new feature that enhances link visualization. It intelligently avoids obstacles such as elements, objects, and bars, ensuring a clear and unobstructed display. Additionally, overlapping links are distinguished by alternating colors and variable widths, improving clarity and making it easier to differentiate them visually. This feature will be available across all configurations (/JS, /COM, /NET, and /WPF) for the following components: eXSurface, eXSwimlane, eXG2antt, and eXG2Host.

The following movie illustrates how to insert, code and use any component using Delphi 12:

The video demonstrates how to insert, code, and utilize the exg2antt control within the RAD Studio 12 IDE. The process is similar for any other Exontrol components. If you are running the RAD Studio 12 IDE on a 64-bit Windows machine, please ensure you install the x64 version of the control. Otherwise, you will need to use the x86 (32-bit) version of the component.
Jun02
ExSuite/JS, 4.5
*NEW: ExRollist/JS component is an interactive list control that arranges its items along the path of an ellipse. As users navigate through the list, the selected item is automatically positioned and displayed at the center of the control, ensuring maximum visibility and focus. This layout creates a smooth and visually engaging experience when browsing items. (exontrol.rollist)
*NEW: Ability to scale logarithmic axis, where values increase exponentially (exontrol.graph)
*NEW: Ability to display the numbers in scientific (1.23e+03) or fixed-point (1230.00) notation (exontrol.common)
*Added: exontrol.Graph.ValueAxisOptions.type {AxisTypeEnum}, specifies the scale type used by the value axis. The axis can be set to use a linear scale (exLinear = 0), where values increase at a constant rate, or a logarithmic scale (exLogarithmic = 1), where values increase exponentially, useful for representing data with large ranges or multiplicative factors (exontrol.graph)
...
ExG2antt, 27.0.0.7
*Added: EditorOptionEnum.exSliderTickStyle option specifies the style to show the slider's ticks according with the EditorOptionEnum.exSliderTickFrequency option
*Fixed: The edit-field is shifting 2-pixels to the right when selecting a new value from a DropDownType or PickeEditType editor
*Fixed: Aligns the ticks with the slider's thumb indicator, if using the Editor.Option(exSliderTickFrequency) property
ExGantt, 19.0.1.2
*NEW: Support for "FileGroupDescriptor" and "FileContents" clipboard format, or ability to accept messages or attachments by drag and drop from the MS Outlook application (or any other applications that use these clipboard format)
*Added: During the OLEDragDrop event the Data.Files.Count property returns the number of messages or attachments being dropped, while Data.Files(index) property returns the fully path-name of the file that contains the message or the attachment. The control automatically extracts the message/attachment's content to a temporarily file, as you would drop a file from Windows Explorer.
*Added: The Items.CellMerge(Item,Column) supports a string value that holds the list of identifiers separated by comma. For instance, Items.CellMerge(Item,0) = "1,2,3", specifies that the cell on column 0, merges with cells of columns 1, 2, 3. The syntax is equivalent with Items.CellMerge(Item,0) = 1; Items.CellMerge(Item,0) = 2; Items.CellMerge(Item,0) = 3;
May28
ExShellView, 18.0.0.5
*Added: The Appearance property defines the control's border
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
ExStatusBar, 18.0.0.2
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
May26
ExGrid, 19.0.0.1
*Added: ExGrid.pdf (include the control's documentation in PDF format)
*Added: The Images method supports the Microsoft ImageList ( mscomctl.ocx, MSComctlLib.ImageList type) object directly. Shortly, you can define the control's images by calling Images(ImageList1.Object). The ImageList1.Object returns the object of MSComctlLib.ImageList type. The Microsoft ImageList object is available for /COM on x86 and x64 machines (starting from Access 2016)
*Added: The column is not clickable while the Column.AllowSort and Column.AllowDragging properties are false (also prevents changing the column's background color while cursor hovers a non-clickable column, Background(exCursorHoverColumn) property)
*Fixed: The Background(exListOLEDropPosition) property specifies the visual-appearance (including EBN files) of the item while the OLE drag and drop cursor hovers it (previously the item's highlight-appearance was always 2-pixels tall)
ExToolTip, 18.0.0.3
*Added: Delphi 12 sample
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
May21
ExList, 19.1.0.8
*Fixed: Dropping the column after the last visible column, ends up one-column to the right after the dropped position.
*Fixed: The control shows the dragging column in black, even the control's header shows the columns in white (ForeColorHeader property)
*Fixed: The control's ForeColorHeader property is not applied on the control's columns-float bar (the columns into the columns-float bar are always displayed in black)
ExScrollBar, 21.0.0.7
*NEW: The ex-HTML tags, including fgcolor, bgcolor, gra, out, sha, solidline, and dotline, now support 150 named colors, such as <fgcolor red>, as well as RGB format specifications like <fgcolor rgb(255,0,0)>. This enhancement offers more flexibility in defining colors within ex-HTML tags
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
May19
ExEditors, 14.0.0.2
*Added: Delphi 12 sample
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var NewValue: OleVariant rather than const NewValue: OleVariant.
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
ExTexture, 6.0.0.3
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
May15
ExPrint, 22.0.0.3
*Added: Delphi 12 sample
*Added: Enhances the loading speed of EBN files
*Fixed: The frame of the page's content is offset by one pixel to the left and top to highlight only the content
ExCascadeTree, 17.0.0.5
*Fixed: Prevents removing all locked-items when Requery method (ADO) occurs for the current data-source (ADO, DataSource method, Items.LockedItemCount property)
*Fixed: A GPF (Stack overflow) occurs if using ADO DataSource for provider of vfpoledb
*Fixed: The Layout property does not refresh the control, if using uncoded format, such 'HScroll=100'
May12
ExPropertiesList, 24.0.0.1
*NEW: Ability to display the numeric values of ENUM literals in drop-down editors
*Added: The FormatEnumValue property defines the HTML expression used to display the value of each enum literal, shown to the right of the item in drop-down editors. For instance, FormatEnumValue = "value" shows the raw value, while "(`" + (len(value) > 2 ? `0x` + hex(value) : value) + `")" displays values of 2 digits or fewer as-is, and longer values in hexadecimal prefixed with 0x
*Fixed: Can't change the selected value by pressing the SPACE key in drop-down editors for Enum types when the check box is not displayed (AllowMultipleValuesOnEnum property)
ExRecord, 17.0.0.4
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: The AttachTemplate method fails if using "handle" keyword on x64 version
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
May08
ExHelper, 29.0.0.1
*Added: Display the values of ENUM literals in drop-down editors
*Fixed: Changes the output's background color to white
*Update: ExPropertiesList 24.0
May07
Expression, 20.0.0.8
*NEW: The ex-HTML tags, including fgcolor, bgcolor, gra, out, sha, solidline, and dotline, now support 150 named colors, such as <fgcolor red>, as well as RGB format specifications like <fgcolor rgb(255,0,0)>. This enhancement offers more flexibility in defining colors within ex-HTML tags
*Added: The `format` operator of expression properties supports formatting the time values, using h, hh, H, HH (hours with no/leading zero for single-digit hours; 12/24-hour clock), m, mm (minutes with no/leading zero for single-digit minutes), s, ss (seconds with no leading zero for single-digit seconds), t, tt (one character time marker string, such as A or P, or multi-character time marker string, such as AM or PM). For instance, the "date(value) format `hh:mm:ss tt`" returns the time in a 12-hour clock representation with hours, minutes, seconds, and an AM/PM indicator.
*Fixed: Sometimes, the Data.Files.Count property returns a wrong number of files, during OLE drag and drop events (/COM version)
ExRadialMenu, 19.0.0.1
*NEW: Ability to display the numbers in scientific (1.23e+03) or fixed-point (1230.00) notation
*Added: The format operator of expression properties supports formatting numbers in scientific (1.23e+03) or fixed-point (1230.00) notation; the "value format 'flags'" string accepts the pattern '%'<flags>?<width>?<precision>?<length>?<specifier>, where flags control formatting as follows: - (left-justify), + (always show sign), space (prefix space for positives), # (force decimal point or preserve trailing zeros), and 0 (pad with zeros), with optional width, precision, length (l, ll, L, etc.), and specifier (e, E, f, F, etc.). The format specifier e (or E) defines scientific (exponential) notation output. The format specifier f (or F) defines fixed-point notation output. For instance, "dbl(value) format '%.2e'" converts the value to a number and formats it using scientific notation (gives both the mantissa and the exponent in scientific notation (e.g., 1.23e+003)), showing 2 digits after the decimal point. For instance "dbl(value) format '%.2e' replace `e` with ` x 10<off -4>` replace `+00` with ``" shows the number using as mantissa and a power of 10, such as 1.23 x 10^3
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
May05
ExG2antt, 27.0.0.6
*Added: Improves the speed to load and display the cells of PictureType associated with a field of OLEObject type (Images within DataSource())
*Fixed: The Column.Def(exCellDrawPartsOrder) property works correctly for ex-html cells only (The cell's caption overwrites the cell's check, icons or picture)
*Fixed: The Data.Files(i) property returns only the first letter of the file rather than the full name of the dragged file (/COM version)
ExHTML, 22.0.0.5
*NEW: The ex-HTML tags, including fgcolor, bgcolor, gra, out, sha, solidline, and dotline, now support 150 named colors, such as <fgcolor red>, as well as RGB format specifications like <fgcolor rgb(255,0,0)>. This enhancement offers more flexibility in defining colors within ex-HTML tags
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
*Fixed: Sometimes, the Data.Files.Count property returns a wrong number of files, during OLE drag and drop events (/COM version)
May01
ExSuite/JS, 4.4
*NEW: The on/off feature binds and unbinds event listeners to elements
*NEW: Ability to customize the pivot's display, allowing the use of graphical data representations instead of traditional tables (exontrol.pivot)
*Added: The expression properties include support for the week(date) operator, which returns the week number of a given date (exontrol.common)
*Added: The CustomView property retrieves the CustomView object of the pivot control, allowing you to redefine its display. For example, setting CustomView.Object = new exontrol.Graph("cvsPivot",{autoFit: true}) configures the pivot control to use the exontrol.Graph component for graphical data representation (exontrol.pivot)
*Added: CustomView.Object {object}, sets or gets the control that defines the custom view (exontrol.pivot)
*Added: CustomView.Visible {CustomViewVisibleEnum}, shows or hides the custom view (specifies whether the custom view is hidden, fully visible, or displayed alongside the default view with a horizontal or vertical splitter) (exontrol.pivot)
*Added: CustomView.Data {array}, retrieves the data as a 2-dimensional array. Additionaly, CustomView.Categories (leading category columns), Columns (CSV column names), Items (row count), Series (trailing series columns), and Stack (CSV stack names for pivoted columns) (exontrol.pivot)
*Added: on(event, listener, method) method to bind event handlers and off(event, listener, method) method to remove them, enabling dynamic event handling for specified events. For instance, oControl.on("click", function(oEvent){console.log("Control clicked:", oEvent);}); binds a click event listener to oControl, logging "Control clicked:" and the event details to the console when clicked. For instance, oControl.off("click"); unbinds the click event that was previously added using on() (availables for all components)
*Added: The Add/Remove method of the exontrol.Lts object now supports event names with or without the "on" prefix and is case-insensitive. For example, Listeners.Add("click", ...) is equivalent to Listeners.Add("onclick", ...). Previously, it was case-sensitive. (exontrol.common)
...
Apr30
ExPivot, 18.0.0.2
*Added: The Background(exTreeLinesColor) method defines the color to show the tree-lines (connecting lines from the parent to the children)
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
*Fixed: Sometimes, the last character of a centered or right-aligned caption gets partially displayed in Print and Print Preview
ExToolBar, 21.0.0.2
*Added: Delphi 12 sample
*Added: Enhances the loading speed of EBN files
*Fixed: Items with X or Y property set are ignored
Apr28
ExComboBox, 18.0.0.6
*Added: Sets or gets the control's Font property in design mode, for the /NET version
*Fixed: The BackColor/ForeColor properties of the /NET version are not serialized once the user changes in design mode (the control's background/foreground is set to the default value once the form is started)
*Fixed: The BackColor/ForeColor properties of the /NET version are not copied in design mode, when the user copies the control in design-mode using CTRL + C (copy) and CTRL + V (paste) combination
*Fixed: On some machines, the format keyword (within expression properties) provides more than 2 decimals for French(Canada) regional settings (for instance "12.3456 format ``" displays 12.3456 instead of 12.35)
ExButton, 23.0.0.4
*Added: Delphi 12 sample
*Added: The Value property indicates whether the button is clicked or released. For example, setting Value = True simulates clicking the button, triggering the Click event.
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var NewValue: OleVariant rather than const NewValue: OleVariant.
Apr23
ExTree, 19.2.0.1
*NEW: Ability to executes x-script code ( including events ), from a string, file or a safe array of bytes. This feature allows you to load the control's visual appearance and behavior, without having to write any line of code. The x-script code can save EBNs, icons, pictures into BASE64 encoded strings, and so everything can be put into a single file, that should be invoked by AttachTemplate method. This feature allows you to run any x-script code for any configuration of the component (/COM, /NET or /WPF). 
*Added: AttachTemplate method executes the giving x-script code, and attach events if found. The x-script code can contain handle keyword that defines a handler for the specified event. For instance, the AttachTemplate("handle Click() { print(Version) }") sends the control's Version property to the debugger for display. All you need is to open the DebugView tool, and click the control.
*Added: The control's Template page supports AttachTemplate so you can assign x-script code ( including events ) in design mode, and so the control's visual appearance and behavior is changed once the control is created at runtime (/COM version only). 
*Added: The control's SearchColumnIndex property specifies the column being dropped or excluded from the Columns floating-bar, during the LayoutChanged event. If the column is being hidden, the SearchColumnIndex property indicates a negative value, else a positive value. For instance, you can use the MarkSearchColumn property on True, to highlight the column being shown by the Columns floating-bar (ColumnsFloatBarVisible property)
ExGantt, 19.0.1.1
*Fixed: The HeaderSingleLine property is ignored if the control's header displays multiple levels of columns (Column.LevelKey property)
*Added: The state of the newly inserted child-item is automatically set on 1, if the column-partial check feature is enabled and the parent-item's state is 1 (Items.CellState, Column.PartialCheck)
*Fixed: Scolls the control's header on the fly, when user scrolls the control's content by drag and drop (AutoDrag property on exAutoDragScroll)
Apr16
ExPlorerTree, 23.0.0.1
*NEW: Expandable-captions support, or ability to expand/collapse the captions using HTML tags such as <a id;exp=text> or <a id;e64=encode64>
*Added: The <solidline> and <dotline> HTML tags support color in RGB format using the <solidline RRGGBB> or <dotline RRGGBB> syntax, which indicates the color to show the solid or dotted line
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
ExMenu, 18.0.0.4
*Added: Delphi 12 sample
*Fixed: Declares event parameters as [in, out] in the control's Type library to ensure that the class wrapper correctly generates code for parameters passed by reference. For example, in Delphi, the wrapper class now displays the NewValue parameter of the Change event as var NewValue: OleVariant rather than const NewValue: OleVariant.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
Apr14
ExGrid, 18.0.1.7
*Fixed: The control's sort-bar displays no columns, if the SortBarColumnWidth property is positive (indicates the maximum width to display the column within the control's sort bar)
*Fixed: Changing the SortBarColumnWidth property has no effect for /NET or /WPF version
*Fixed: The column's caption is not vertically aligned if it contains \r\n sequences ( EOL )
*Fixed: Sometimes, the column's partial-check feature does not work correctly (Column.PartialCheck, Column.Def(exCellHasCheckBox))
ExMaskEdit, 16.0.0.2
*Added: Delphi 12 sample
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
Apr09
ExOrgChart, 21.0.0.5
*Added: The Icon parameter of the ReplaceIcon method supports loading an icon in various ways. If the ICON is not provided via its handle, it will attempt to load it from a picture using its reference, the full path to the picture file, or the picture's content encoded as BASE64 strings using the eXImages tool.
*Fixed: Prevent returning the event parameter by reference when accessing the EventParam(index) property. For example, PowerBuilder generates a 'Bad runtime function reference' error if an event parameter passed by reference is accessed through the EventParam(index) property
*Fixed: The ReplaceIcon method fails to load icons using handles in x64 applications.
ExSurface, 21.0.0.4
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: A custom-path link may be selected as it would be rectangular
*Fixed: A black frame appears around the control, even when the Appearance property is set to 0.
Apr07
ExSchedule, 23.0.0.5
*Added: EventKnownPropertyEnum.exEventBodyBackColor specifies the background color or the visual appearance of the event (body), equivalent of Event.BodyBackColor property
*Added: EventKnownPropertyEnum.exEventBodyForeColor specifies the foreground color of the event (body), equivalent of Event.BodyForeColor property
*Added: EventKnownPropertyEnum.exEventBodyPattern specifies the pattern of the event (body), equivalent of Event.BodyPattern property
*Added: EventKnownPropertyEnum.exEventShowStatus specifies whether the current event shows or hides its status, equivalent of Event.ShowStatus property
*Added: EventKnownPropertyEnum.exEventStatusColor specifies the color of the event's status, equivalent of Event.StatusColor property
*Added: EventKnownPropertyEnum.exEventStatusPattern specifies the pattern to show the event's status, equivalent of Event.StatusPattern property
*Added: EventKnownPropertyEnum.exEventLabelAlign indicates the alignment of the event's long label, equivalent of Event.LabelAlign property
...
Apr02
ExG2antt, 27.0.0.5
*Added: Items.ItemBar(exBarHistLegend), specifies the description to show within the histogram's legend for the bar in the control's histogram. The exBarHistLegend option has effect only if the Bar.HistogramCumulativeOriginalColorBars is exKeepOriginalColor. The exBarHistLegend option supports built-in HTML format including the <%=formula%> tag. The <%=formula%> tag indicates the result of the giving formula. The formula supports value formatting. Inside the formula the %0, %1, ... indicates the value of corresponding property of the bar, such as %0 specifies the exBarName, %1 exBarStart, and so on. The %C0, %C1, ... indicates the cell's values.
*Fixed: The resize-cursor between time-units is not showing while the cursor hovers the chart's header, while Chart.OverviewVisible property includes exOverviewShowDateTimeScale flag, and Chart.AllowInsideZoom property is true
*Fixed: The chart flickers if moving more tasks at once
ExPropertiesList, 23.0.1.1
*Added: The HeaderEnabled property enables or disables the control's header. If the header is disabled, the user can't resize or drag and drop any column. Also, the header is disabled, the control's sort/groupby-bar is disabled as well.
*Added: Prevents resizing the columns by drag and drop within the control's header, while the HeaderAppearance property is 0
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.
Apr01
ExSuite/JS, 4.3
*NEW: Major improvement to the Export method, enabling selection of items and columns to export
*NEW: Ability to specify various non-working zones for items through expressions (exontrol.gantt)
*NEW: Ability to access parent/root item values in the cell's expression (exontrol.tree, exontrol.gantt, exontrol.pivot)
*NEW: 'unique' predefined aggregate function (counts distinct values) (exontrol.tree, exontrol.gantt, exontrol.pivot)
*Added: The expression properties support the chr(code) operator, which returns the character for a given ASCII (or ANSI) code, and the asc(char) function, which retrieves the ASCII (or ANSI) code of the first character in a string. Additionally, the eol constant represents the end-of-line sequence ("\r\n" or chr(13) & chr(10)), and the tab constant corresponds to the tab character (chr(9)) (exontrol.common)
*Added: The Expression for ConditionalFormat/ComputedField/FormatColumn supports the "parent" and "root" unary operators, allowing item-functions (like "index", "rindex", "apos", "rapos", "pos", "rpos", "opos", and "ropos") or cell variables (%0, %C0, %CS0,...) to reference the parent or root item instead of the current item. For example, parent(1 index ``) returns the index of the parent item, while parent(%C0) gets the caption of the parent item in the column with index 0. root(%CS1) checks whether the root item is checked or unchecked (returns the root's check-state). For instance, "1 index ``" returns the index of the current item, while "parent(1 index ``)" returns the index of the parent item (exontrol.tree, exontrol.gantt, exontrol.pivot)
...

2025..........................