11.2.7 - 2026-08-24
Improvements
- RadzenSpreadsheet - new
Changeevent fires after every workbook mutation - commands, undo, redo, and sheet add/remove/rename/move - so hosts can enable a Save button on first edit or warn about unsaved changes without pollingCanUndo. The event passesSpreadsheetChangeEventArgswith aSpreadsheetChangeReason, the affected worksheet and the executed command, and fires only for mutations that actually happened - commands rejected byReadOnly,Allow*flags, protection or aCommandExecutingveto stay silent. Fixes #2660
Fixes
- RadzenDataGrid -
UseDisplayNamenow resolves the column header viaDisplayAttribute.GetShortName(), so[Display(Name = "Key", ResourceType = typeof(Resources))]renders the localized text instead of the raw resource key, and a localizedShortNametakes precedence overName(#2674, thanks @xsainteer) - RadzenRadioButtonList and RadzenCheckBoxList no longer cascade
TValueto descendant components, so aValidationMessageinside an itemTemplatecompiles again - its type parameter is inferred from theForexpression as before. Fixes #2673 - RadzenMarkdown no longer throws for links whose destination is not a valid URI, such as
[x](https://)with an empty host - the link text is rendered without a destination instead of aUriFormatExceptiontaking down the component tree for stored user content. Fixes #2671 (thanks @artnim) - RadzenSpreadsheet grid size now survives an xlsx export and import round trip - the dimension element is written as the full grid extent and trusted on import, so the sample 26x50 sheet reloads as 26x50 instead of being padded to 100x100, and files from other producers load trimmed to their used range. Fixes #2670