
Improves Data Grid, Diagram and Gantt controls.
Fixes
Angular
- All Angular products
- A report cannot display data from multiple data tables when it is connected to SqlDataSource that is connected to an XML file.
- CachedReportSource - A report's watermark disappears if the report is exported or previewed on a machine that has no Verdana font installed.
- Microsoft Entity Framework Data Source Wizard - "Cannot connect to the database" error occurs in Microsoft Visual Studio after selecting a connection.
- EventObject - The 'extend' method's call takes a long time to wrap native event arguments.
- Export to PDF - The "Value was either too large or too small for an Int32." exception may occur in the Linux environment on exporting a report that uses certain fonts.
- Scheduler - A wrong appointment can be removed in particular scenarios.
- Scheduler - The "All day" switch in an edit form sets "End Date" to the next day.
- TagBox - The "onKeyDown" event handler is not executed.
- The "DevExpress v21.1 Report" item template invokes the Template Gallery in case a specified report's name is not a valid C# class name.
- TreeList - A new item row is not focused under certain conditions.
- TreeList renders an unnecessary check box in a new item row.
- Visual Studio Report Designer - A report's parameter values are reset to the default values when this report is loaded.
- Visual Studio Report Designer (CTP) - Binding to a class in the Data Source Wizard results in the NullReference exception.
- Web Document Viewer - "Image not found" error occurs when using the Microsoft Azure Storage for caching.
- Web Document Viewer - Implement the logging functionality that simplifies the client-server communication diagnostics process.
- Web Report Designer - Waterfall series type is not present in the Chart Designer.
- XRSubreport - Changing the ReportSourceUrl property dynamically at runtime does not reload a subreport.
- DevExtreme Charts & Gauges
- Sparkline - "TypeError: e._removeElement is not a function" error occurs on an attempt to change the type option.
- DevExtreme CLI
- DevExtreme CLI and Theme Builder generate different metadata in an exported file.
- DevExtreme Data Grid
- "Select all" fails if the calculateCellValue function and nested data are used.
- Multiple Selection - A cell with a check box does not get the focus color when focused.
- The column edit button is rendered even if the visible property is false when a grouped row is collapsed and expanded.
- The dxLookup control is styled incorrectly when it is used as an editor in Material Themes.
- DataGrid closes the Edit Form if an item's visibility is changed via two-way binding.
- ValidationCallback loses data on subsequent requests if called in a DataGrid with customStore with composite keys.
- DevExtreme Diagram
- Client-side errors are raised while rendering a custom shape with a long text if the text's coordinates and size are not specified.
- JavaScript errors occur if you copy/paste a shape from the main toolbar using built-in commands.
- Key values for shapes and connectors are overwritten when the import method is used to load data.
- Certain commands that are described as available in the documentation cannot be used in the context menu.
- Imported content is shown with incorrect coordinates when it's loaded in an empty diagram and on resizing in Simple View.
- Shapes disappear after the zoom level and read-only mode are changed.
- The lineStyle and lineWidth items are not included in the list of toolbar commands.
- DevExtreme Dialogs & Notifications
- Popover throws the "Cannot read property 'preventDefault' of undefined" error after the target option is set.
- DevExtreme Editors & Validation
- Lookup - It is not possible to open a dropdown when the control is placed at the bottom of the page and the usePopover option is set to false.
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme File Management
- FileUploader - The hoverStateEnabled option has no effect on any buttons of the fileuploader.
- DevExtreme Form
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme Gantt
- Timeline displays shifted months in the exported document if a custom range is selected.
- "Cannot create property 'text' on number '0'" error occurs when many tasks are exported to PDF.
- Export to PDF - Thai Language is exported incorrectly.
- Dependency validation is not taken into account when data is being edited via the "Task Details" dialog.
- DevExtreme HtmlEditor
- A variable is moved to the next line after pressing Enter when the cursor is on the right of the variable.
- Table resizing works incorrectly if the table has a header row.
- DevExtreme Layout & Navigation
- TreeView doesn't focus a node when clicking "Tab" after search.
- DevExtreme Scheduler
- Appointments are dragged and resized incorrectly in Scheduler when vertical grouping is used.
- All-day appointment is not displayed on the last day.
- All-day appointments overlap standard appointments after an update to v.21.1 or v.20.2.
- Appointment collectors overlap two cells when the adaptivityEnabled option is enabled in Timeline views.
- The current date style is applied to the wrong date when the component is grouped.
- The resource and date cells do not move during horizontal scrolling.
- DevExtreme Themes & Utils
- The devextreme/viz/themes and devextreme/viz/palette modules do not work after upgrading angular to v.12 when DevExtreme v.21.1 is used.
- DevExtreme TreeList
- A new record doesn't appear when parentId is set in InitNewRow.
- It is not possible to drag a node to the top when scrolling is active.
- The selectRows method does not deselect rows automatically when the preserve argument is set to false in recursive mode.
HTML JS
- All HTML JS products
- EventObject - The 'extend' method's call takes a long time to wrap native event arguments.
- Modules - It is not possible to convert DevExtreme modules using RequireJS.
- The SignalR Service demo works incorrectly in CodePen.
- DevExtreme Charts & Gauges
- Chart - Exported files display the internal export buttons of the Charts when several Charts with enabled export are exported via exportWidgets as SVG.
- Chart - Incorrect operation of the Axis Break for the "datetime" Axis.
- Chart - Point is still can be hovered if it was hidden in the customizePoint callback.
- CircularGauge - Label positioning with scale.orientation: “outside” works incorrectly when indentFromTick is negative.
- Sparkline - "TypeError: e._removeElement is not a function" error occurs on an attempt to change the type option.
- DevExtreme DataGrid
- "Select all" fails if the calculateCellValue function and nested data are used.
- A modified cell value is reverted to an old value when clicking a check box in a neighboring cell on Apple iOS.
- DataGrid does not occupy the entire container space under certain conditions.
- e.rowIndex in onCellClick is incorrect if a cell is clicked right after a new row is added.
- Multiple Selection - A cell with a check box does not get the focus color when focused.
- onCellClick is triggered when a new row is added even if a cell is not clicked.
- The column edit button is rendered even if the visible property is false when a grouped row is collapsed and expanded.
- The dxLookup control is styled incorrectly when it is used as an editor in Material Themes.
- Validation is not triggered in a cell in cell editing mode in certain cases.
- DataGrid displays inconsistent results in the Filter Panel and Filter Row if the "(Blanks)" item is selected.
- The exception occurs if I add a change object for an invisible row to the editing.changes option.
- ValidationCallback loses data on subsequent requests if called in a DataGrid with customStore with composite keys.
- DevExtreme Diagram
- Client-side errors are raised while rendering a custom shape with a long text if the text's coordinates and size are not specified.
- JS errors occur if you copy/paste a shape from the main toolbar using built-in commands.
- Fullscreen mode doesn't work if a diagram is placed inside a tabpanel widget.
- Key values for shapes and connectors are overwritten when the import method is used to load data.
- An error occurs when edges.dataSource is specified and nodes.dataSource is not specified.
- Shapes disappear after the zoom level and read-only mode are changed.
- DevExtreme Dialogs & Notifications
- Popover throws the "Cannot read property 'preventDefault' of undefined" error after the target option is set.
- DevExtreme Editors & Validation
- DateBox - The value is displayed incorrectly if the year is below '0100' and the assigned value is a string.
- Lookup - It is not possible to open a dropdown when the control is placed at the bottom of the page and the usePopover option is set to false.
- NumberBox - Some percentage values don't return the exact value.
- RadioGroup - The validation message overlaps radio items in material themes.
- TagBox - The "onKeyDown" event handler is not executed.
- TextBox changes its 'undefined' value to "" on pressing a key when it is read-only.
- DevExtreme File Management
- FileManager for HTML JS - The "Deleting an item from..." message is not hidden after a file is deleted when the Progress Panel is opened.
- FileUploader - The hoverStateEnabled option has no effect on any buttons of the fileuploader.
- DevExtreme Form
- Form - An editor validation message overlaps an item's help text in material themes.
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme Gantt
- Timeline displays shifted months in the exported document if a custom range is selected.
- "Cannot create property 'text' on number '0'" error occurs when many tasks are exported to PDF.
- Export to PDF - Thai Language is exported incorrectly.
- A task is incorrectly updated after changing its end time using API or Task Dialog if the task's duration includes Daylight Saving Time.
- Dependency validation is not taken into account when data is being edited via the "Task Details" dialog.
- DevExtreme HtmlEditor
- A variable is moved to the next line after pressing Enter when the cursor is on the right of the variable.
- CodeBlock does not apply the background color.
- Table resizing works incorrectly if the table has a header row.
- The 'insertHeaderRow' toolbar operation has no icon.
- DevExtreme Layout & Navigation
- Menu - "Cannot use 'in' operator to search for 'length' in true" error occurs on an attempt to disable an item if adaptivityEnabled is true.
- TreeView doesn't focus a node when clicking "Tab" after search.
- DevExtreme Scheduler
- 'TypeError: el.className.indexOf is not a function' occurs on an attempt to drag an appointment.
- A wrong appointment can be removed in particular scenarios.
- All-day appointment is not displayed on the last day.
- All-day appointments overlap standard appointments after an update to v.21.1 or v.20.2.
- Appointment collectors overlap two cells when the adaptivityEnabled option is enabled in Timeline views.
- Changing a template at runtime initiates re-rendering twice.
- The "All day" switch in an edit form sets "End Date" to the next day.
- The current date style is applied to the wrong date when the component is grouped.
- The drag operation doesn't work properly when there is more than one scheduler.
- The resource and date cells do not move during horizontal scrolling.
- Scheduler displays the "TypeError: n.getTime is not a function" error when the recurrenceEditMode is changed dynamically and the currentDate is a string.
- DevExtreme Themes & Utils
- DateBox - The value is displayed incorrectly if the year is below '0100' and the assigned value is a string.
- DevExtreme TreeList
- A new item row is not focused under certain conditions.
- A new record doesn't appear when parentId is set in InitNewRow.
- Nodes are expanded/collapsed slowly when the amount of data is large.
- The selectRows method does not deselect rows automatically when the preserve argument is set to false in recursive mode.
- TreeList renders an unnecessary check box in a new item row.
React
- All React products
- EventObject - The 'extend' method's call takes a long time to wrap native event arguments.
- Scheduler - A wrong appointment can be removed in particular scenarios.
- Scheduler - The "All day" switch in an edit form sets "End Date" to the next day.
- TagBox - The "onKeyDown" event handler is not executed.
- TreeList - A new item row is not focused under certain conditions.
- TreeList renders an unnecessary check box in a new item row.
- Web Document Viewer - Implement the logging functionality that simplifies the client-server communication diagnostics process.
- DevExtreme Charts & Gauges
- Sparkline - "TypeError: e._removeElement is not a function" error occurs on an attempt to change the type option.
- DevExtreme DataGrid
- "Select all" fails if the calculateCellValue function and nested data are used.
- Multiple Selection - A cell with a check box does not get the focus color when focused.
- The dxLookup control is styled incorrectly when it is used as an editor in Material Themes.
- The height of TreeList is incorrect when items are expanded and columns have templates.
- ValidationCallback loses data on subsequent requests if called in a DataGrid with customStore with composite keys.
- DevExtreme Diagram
- Client-side errors are raised while rendering a custom shape with a long text if the text's coordinates and size are not specified.
- JavaScript errors occur if you copy/paste a shape from the main toolbar using built-in commands.
- Key values for shapes and connectors are overwritten when the import method is used to load data.
- An error occurs when edges.dataSource is specified and nodes.dataSource is not specified.
- Shapes disappear after the zoom level and read-only mode are changed.
- DevExtreme Dialogs & Notifications
- Popover throws the "Cannot read property 'preventDefault' of undefined" error after the target option is set.
- DevExtreme Editors & Validation
- DropDownBox - The onValueChanged event is not triggered if a value is changed using the state in React.
- Lookup - It is not possible to open a dropdown when the control is placed at the bottom of the page and the usePopover option is set to false.
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme File Management
- FileUploader - The hoverStateEnabled option has no effect on any buttons of the fileuploader.
- DevExtreme Form
- Form - The onFieldDataChanged event is not fired and validation messages are removed in React if the formData is updated.
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme Gantt
- Timeline displays shifted months in the exported document if a custom range is selected.
- Export to PDF - Thai Language is exported incorrectly.
- A task is incorrectly updated after changing its end time using API or Task Dialog if the task's duration includes Daylight Saving Time.
- Dependency validation is not taken into account when data is being edited via the "Task Details" dialog.
- The "Failed to execute 'removeChild' on 'Node'" error is thrown when double-clicking on a task after upgrading to v21.1.5.
- The TaskUpdated event does not fire for parents of a changed task.
- DevExtreme HtmlEditor
- A variable is moved to the next line after pressing Enter when the cursor is on the right of the variable.
- Table resizing works incorrectly if the table has a header row.
- DevExtreme Layout & Navigation
- Drawer - The closeOnOutsideClick option does not work in the Top or Bottom Position React demo.
- Editors inside a nested item template (TabPanel, MultiView, Accordion) raise onValueChanged twice.
- TreeView doesn't focus a node when clicking "Tab" after search.
- DevExtreme Scheduler
- All-day appointment is not displayed on the last day.
- All-day appointments overlap standard appointments after an update to v.21.1 or v.20.2.
- Appointment collectors overlap two cells when the adaptivityEnabled option is enabled in Timeline views.
- The current date style is applied to the wrong date when the component is grouped.
- DevExtreme TreeList
- The height of TreeList is incorrect when items are expanded and columns have templates.
- A new record doesn't appear when parentId is set in InitNewRow.
- The selectRows method does not deselect rows automatically when the preserve argument is set to false in recursive mode.
Vue
- All Vue products
- EventObject - The 'extend' method's call takes a long time to wrap native event arguments.
- Scheduler - A wrong appointment can be removed in particular scenarios.
- Scheduler - The "All day" switch in an edit form sets "End Date" to the next day.
- TagBox - The "onKeyDown" event handler is not executed.
- TreeList - A new item row is not focused under certain conditions.
- TreeList renders an unnecessary check box in a new item row.
- Web Document Viewer - Implement the logging functionality that simplifies the client-server communication diagnostics process.
- DevExtreme Charts & Gauges
- Sparkline - "TypeError: e._removeElement is not a function" error occurs on an attempt to change the type option.
- DevExtreme DataGrid
- "Select all" fails if the calculateCellValue function and nested data are used.
- Multiple Selection - A cell with a check box does not get the focus color when focused.
- The dxLookup control is styled incorrectly when it is used as an editor in Material Themes.
- ValidationCallback loses data on subsequent requests if called in a DataGrid with customStore with composite keys.
- DevExtreme Diagram
- Client-side errors are raised while rendering a custom shape with a long text if the text's coordinates and size are not specified.
- JS errors occur if you copy/paste a shape from the main toolbar using built-in commands.
- Key values for shapes and connectors are overwritten when the import method is used to load data.
- An error occurs when edges.dataSource is specified and nodes.dataSource is not specified.
- Shapes disappear after the zoom level and read-only mode are changed.
- DevExtreme Dialogs & Notifications
- Popover throws the "Cannot read property 'preventDefault' of undefined" error after the target option is set.
- DevExtreme Editors & Validation
- Lookup - It is not possible to open a dropdown when the control is placed at the bottom of the page and the usePopover option is set to false.
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme File Management
- FileUploader - The hoverStateEnabled option has no effect on any buttons of the fileuploader.
- DevExtreme Form
- RadioGroup - The validation message overlaps radio items in material themes.
- DevExtreme Gantt
- Timeline displays shifted months in the exported document if a custom range is selected.
- Export to PDF - Thai Language is exported incorrectly.
- Dependency validation is not taken into account when data is being edited via the "Task Details" dialog.
- DevExtreme HtmlEditor
- A variable is moved to the next line after pressing Enter when the cursor is on the right of the variable.
- Table resizing works incorrectly if the table has a header row.
- DevExtreme Layout & Navigation
- TreeView doesn't focus a node when clicking "Tab" after search.
- DevExtreme Scheduler
- All-day appointment is not displayed on the last day.
- All-day appointments overlap standard appointments after an update to v.21.1 or v.20.2.
- Appointment collectors overlap two cells when the adaptivityEnabled option is enabled in Timeline views.
- The current date style is applied to the wrong date when the component is grouped.
- DevExtreme TreeList
- A new record doesn't appear when parentId is set in InitNewRow.
- The selectRows method does not deselect rows automatically when the preserve argument is set to false in recursive mode.
- TreeList throws the "Cannot read property 'columns' of undefined" error in Vue 2 when columns are being removed.
- TreeList throws the "Cannot read property 'columns' of undefined" error when trying to remove columns at runtime in a Vue app.