What's new
Before updating DHTMLX to the latest version, please check the Migration to Newer Versions guide to avoid possible breakdowns.
Version 9.3.3
Released on June 2, 2026
Fixes
- Grid. Fixed the issue where
comboFilter/selectFilterdid not pull updated values during scrolling or pagination when usinglazyDataProxy - Grid. Fixed the behavior of fixed rows (
topSplit/bottomSplit) in TreeGrid mode: rows now expand/collapse correctly and no longer collapse automatically upon data loading or scrolling
Version 9.3.2
Released on May 12, 2026
Fixes
- Calendar. The calculation of the week number during the transition to summer time (DST) is fixed
- Grid. The issue with incorrect row height after row deletion when using pagination and lazy loading is fixed
- Grid. The styling issue of the
BlockSelectionmodule when using splits (left, right, top, or bottom) is fixed - Grid. The issue where export to XLSX or CSV failed if a configuration object was passed without a URL is fixed
Version 9.3.1
Released on March 26, 2026
Fixes
- Form. The validation issue in the
timePickercontrol with thetimeObjectvalue format when the minute part is less than 10 is fixed - Form. The issue where hiding and showing a form control caused the form title to be positioned incorrectly is fixed
Version 9.3
Released on February 17, 2026
New functionality
- Grid. The ability to specify a flexible configuration for export to the CSV, XLSX, PDF, and PNG formats (PRO version)
- new Grid configuration property:
exportConfig
- new Grid configuration property:
- Grid. A new
dateFiltertype of filter for the column header is added (PRO version) - Grid. The ability to define the position of the footer and frozen rows within the component container (PRO version)
- new Grid configuration property:
footerPosition
- new Grid configuration property:
- Grid. The ability to define the behaviour of a dragged item in the TreeGrid mode (PRO version)
- new Grid configuration property:
dropBehaviour
- new Grid configuration property:
- Tree. The ability to add tooltips for the items
- new Tree configuration property:
tooltip
- new Tree configuration property:
- Window. The ability to set a window to the active state
- new Window method:
setActive()
- new Window method:
Updates
- Chart. Export module. The
pdf()andpng()export functions return a promise of data export - Grid. Export module. The
pdf(),png(),xlsx()andcsv()export functions return a promise of data export - Grid. The functionality of column header filters is updated:
- the
setValue()method (of thegetHeaderFilter()API), can take a Date object or an array of Date[] objects as a parameter - the
valueparameter of the callback functions offilterChangeandbeforeFilterevents can be a Date object or an array of Date[] objects - the parameters of the
customFiltercallback function can be Date objects or arrays of Date[] objects
- the
Fixes
- Grid. The inability to set a single date in the range mode is fixed
- Grid. Performance issues that occurred while filtering large data sets via
inputFilter
New samples
Grid
- Grid. Custom export logic for PDF, PNG, XLSX, CSV
- Grid. Fixed rows positioned at the bottom
- Grid. Footer positioned at the bottom
- Grid (TreeGrid). Drop behaviour
Tree
Window
Version 9.2.8
Released on January 28, 2026
Fixes
- Grid. Enable the ability to use block selection when the editor is open
- Layout. Incorrect resizing of a cell with an attached iframe
Version 9.2.7
Released on January 15, 2026
Fixes
- Grid. Data isn't grouped via the group panel
Version 9.2.6
Released on January 13, 2026
Fixes
- Dataview, Grid, List. The issue with the functionality of the
beforeAddevent during drag-n-drop - Grid. The ability to enable grouping in Grid with
subrowis fixed - Grid. The ability to group a non-existent column without actual grouping is fixed
- Grid. The
comboFilternot updating the options on adding new items or editing the existing ones - Grid. Incorrect behavior of the
comboFilterwith enabled multiselection - Grid. The issue with the custom scroll being duplicated by the system scroll in Firefox on Windows 11
- Grid. On grouping by a column with options, export to CSV/XLSX outputs the option's id instead of the displayed option's value
- Sidebar. The functionality of the
navigationTypeconfiguration option is fixed
Version 9.2.5
Released on November 28, 2025
Updates
- DataCollection. The
beforeAdd,afterAdd,beforeRemove, andafterRemoveevents are updated to include thebatchandindexparameters for handling batch operations
Fixes
- Grid. Improved performance of adding and removing data via the
add()andremove()methods when theadjustconfiguration is enabled - Grid. The issue where the combo filter with enabled
multiselectiondisplayed all options ignoring other active filters is fixed - TreeCollection. The issue where the
itemsproperty of a parent object returned by thegetItem()andfind()methods included a removed child item is fixed
Version 9.2.4
Released on November 17, 2025
Fixes
- Form. The
getValue()method returns an empty string for a Combo option if its ID is specified as 0 (zero) - Grid.
comboFilterdisplays all the options even if itsfilterConfigconfiguration object is initialized without thefilterproperty - Grid. Incorrect date format in an exported Excel file
- Grid. The ability to specify a placeholder in the
inputFiltervia thefilterConfigconfiguration object is added - Tree. Incorrect dropping behavior when the
dropBehavior:siblingproperty is set in the Tree configuration
Version 9.2.3
Released on October 21, 2025
Fixes
- Grid. Performance issues caused by using
comboFilterin the Grid header while a large dataset is loaded - Grid. The issue with the "combobox" editor not closing on pressing the "Enter" button
Version 9.2.2
Released on October 1, 2025
Fixes
- Layout. The error that occurred on clicking the scrollbar in an attached List component
- Grid. Incorrect date format of exported columns with dates in some cases
- Tree. Performance issues in trees with deep nesting structure
Version 9.2.1
Released on September 1, 2025
Fixes
- DragManager. Incorrect determining of dragged items' ids while dragging multiple items
- Form. The
beforeChangeevent behavior in the Input and Textarea controls - Grid. The
BlockSelectionmodule behavior when using several Grids on a page - Grid. The issue with inserting data into inputFilter from the clipboard
- Grid. The parameter that defines the dragged item's drop position relative to the target item is added for the callback of drag-related events
- Grid. The problem with multiselection of rows outside the visible Grid area when the
dragModeoption is enabled - Grid. Displaying of boolean values in the grouped data
- Grid. Processing of invalid data for columns with the
numbertype - Grid. The processing of the grouped invalid data is improved
Version 9.2
Released on July 15, 2025
Review of the release on the blogBreaking changes
This version brings some updates in the use of the export module used for exporting Grid data to an Excel file. Check the Migration guide to keep in step with the latest updates.
New functionality
- Grid. The
RangeSelectionmodule is added to provide functionality for managing range selection in Grid (PRO version)- new Grid configuration property:
rangeSelection - new methods of the
rangeobject:disable(),enable(),getRange(),getRangedCells(),isDisabled(),isRanged(),resetRange(),setRange() - new events of the
rangeobject:afterResetRange,afterSetRange,beforeResetRange,beforeSetRange
- new Grid configuration property:
- Grid. The
BlockSelectionmodule is added to provide functionality for managing block selection in Grid (PRO version)- new Grid configuration property:
blockSelection - new methods of the
blockobject:disable(),enable(),isDisabled() - new events of the
blockobject:afterBlockHandleApply,afterBlockSelectionApply,afterBlockSelectionMove,beforeBlockHandleApply,beforeBlockSelectionApply,beforeBlockSelectionMove,blockHandleMouseDown,blockSelectionEnd,blockSelectionStart,blockSelectionValidate
- new Grid configuration property:
- Grid. The
Clipboardmodule is added to provide functionality for interacting with the clipboard in Grid (PRO version)- new Grid configuration property:
clipboard - new events of the
clipboardobject:afterCopy,afterPaste,beforeCopy,beforePaste,copyError,pasteError
- new Grid configuration property:
- Grid. The
DragPanelmodule is added to provide auxiliary functionality for moving rows in Grid and improve the drag-n-drop visualization (PRO version)- new Grid configuration property:
dragPanel - new events:
dragPanelItemClick,dragPanelItemMouseDown
- new Grid configuration property:
- Grid. The
Historymodule is added to provide functionality for managing the history of actions in Grid, including the Undo/Redo functionality (PRO version)- new Grid configuration property:
history - new methods of the
historyobject:add(),canRedo(),canUndo(),disable(),enable(),isDisabled(),getHistory(),redo(),remove(),removeAll(),undo() - new events of the
historyobject:afterAdd,afterRedo,afterUndo,beforeAdd,beforeRedo,beforeUndo,error
- new Grid configuration property:
- Grid. The
isSelected()method is added for theSelectionmodule to check whether the specified cell is selected
Updates
- Grid. The logic and appearance of the drag-n-drop functionality is improved. Check the related sample
- Grid. The export to Excel functionality is updated. The Json2Excel module is now used for exporting Grid data to Excel. Check the Migration guide for details
- Grid. The
xlsx()method of the Export module gets two new configuration settings:tableName- to set the name of a sheet with grid data in the Excel filedateFormatMask- to set the date format mask for Excel
- Grid. The possibility to use keyboard navigation for selecting ranges of cells. The following shortcut keys and their combinations are available:
| ArrowUp | resets the selected range and moves the focus to the previous vertical cell, setting the initially selected cell if no selection is active |
| ArrowDown | resets the selected range and moves the focus to the next vertical cell, setting the initially selected cell if no selection is active |
| ArrowLeft | resets the selected range and moves the focus to the previous horizontal cell, setting the initially selected cell if no selection is active |
| ArrowRight | resets the selected range and moves the focus to the next horizontal cell, setting the initially selected cell if no selection is active |
| Shift+ArrowUp | extends the selected range from the current initial cell to the previous vertical cell |
| Shift+ArrowDown | extends the selected range from the current initial cell to the next vertical cell |
| Shift+ArrowLeft | extends the selected range from the current initial cell to the previous horizontal cell |
| Shift+ArrowRight | extends the selected range from the current initial cell to the next horizontal cell |
| Ctrl+ArrowUp | resets the selected range and moves the focus to the first vertical cell |
| Ctrl+ArrowDown | resets the selected range and moves the focus to the last vertical cell |
| Ctrl+ArrowLeft | resets the selected range and moves the focus to the first horizontal cell |
| Ctrl+ArrowRight | resets the selected range and moves the focus to the last horizontal cell |
| Ctrl+Shift+ArrowUp | extends the selected range to the first vertical cell |
| Ctrl+Shift+ArrowDown | extends the selected range to the last vertical cell |
| Ctrl+Shift+ArrowLeft | extends the selected range to the first horizontal cell |
| Ctrl+Shift+ArrowRight | extends the selected range to the last horizontal cell |
The following shortcut key and mouse combination is available:
| Shift + click | sets the end cell of the range, extending the selection from the current initial cell |
The following shortcut key is available when the editable mode is set for the Grid component and the BlockSelection module is used in the "range" mode:
| Delete | allows clearing the selected cells |
Fixes
- DragManager. Incorrect determining the position for dropping an element during the Drag&Drop operation (child elements) in the TreeGrid mode
- DragManager. The issue with moving a line to the header/footer area
- DragManager. The problem with determining the position for dropping above the first element
- DragManager. The issue associated with the absence or incorrect definition of the drop position for the default mode
- DragManager. The issue with the
dragInevent (the previous reset state was transmitted) - DragManager. The
dragIn/dragOutevents are optimized (false positives are removed) - Grid. The issue with falsy selection of fixed cells while selecting unfrozen cells
- Grid. The issue with dragging unselected items
- Grid. Sorting of the Date string (ISO) values results in the invalid format error
- Grid. Export. Double quotes in the cell value are escaped in the exported Excel
- Grid. The issue with editor closing and saving the entered value on scrolling the grid
- Grid. The
draggable:falsesetting of a column affects the drag-n-drop of rows - Grid. The error that occurred when the value of the
parentproperty was set as a number
New samples
Grid
- Grid (TreeGrid). DragPanel. Initialization
- Grid. BlockSelection in the "range" mode. Selection with restricted columns
- Grid. BlockSelection. Work with the handle configuration
- Grid. BlockSelection. Styling (custom CSS)
- Grid. Clipboard with notifications (messages)
- Grid. Clipboard. Custom copy/cut/paste for number and date columns
- Grid. Clipboard. Copy/сut/paste between grids with validation
- Grid. Clipboard between two Grids with modifiers
- Grid. Clipboard between Grid and Spreadsheet
- Grid. History. Configuration
- Grid. History. Adding a custom action
Version 9.1.6
Released on June 23, 2025
Fixes
- Chart. The issue with displaying of the Treemap chart with groups
- Grid. The
cellValueparameter of the columntemplateproperty has different values depending on whether a column is editable - Grid. The issue with the tooltip showing in case of a custom HTML content taking the full cell's space
- Grid. The
textareaeditor saves changes made in a cell on closing instead of rendering the initial value
Version 9.1.5
Released on June 5, 2025
Fixes
- DataCollection/TreeCollection. Fixed the
sort()method in thesmartSortingmode when sorting by more than three parameters - Grid. The
multiselect/selecteditor passes the id instead of the value, while exporting data to an .xslx file - Grid. Sorting by the third column disregards the prior two-column sort order