Essential Studio® for Blazor Release Notes
Accordion
Bug Fixes
- 
## 291664- The issue withExpandedIndiciesproperty when usingExpandItempublic method has been resolved.
- 
## 289427- Accordion items can now be rendered based on the conditional statements.
- 
## 157744- Performance has been increased when rendering other syncfusion components as accordion content.
New Features
- Introduced a property LoadOnDemandto decide whether all the accordion contents are rendered on initial load and maintained in DOM.
Breaking Changes
- The type of Durationproperty withinAccordionAnimationExpandandAccordionAnimationCollapsehas been changed fromdoubletoint.
- The type of Effectproperty withinAccordionAnimationExpandandAccordionAnimationCollapsehas been changed fromstringtoAnimationEffectenumeration type.
Previous
    <SfAccordion>
        <AccordionAnimationSettings>
            <AccordionAnimationCollapse Duration="@duration" Effect="@collapseEffect"></AccordionAnimationCollapse>
            <AccordionAnimationExpand  Duration="@duration" Effect="@expandEffect"></AccordionAnimationExpand>
        </AccordionAnimationSettings>
        ...
    </SfAccordion>
    @code {
        private string ExpandEffect = "FadeIn";
        private string CollapseEffect = "FadeOut";
        private double duration = 300;
    }Now
    using Syncusion.Blazor;
    <SfAccordion>
        <AccordionAnimationSettings>
            <AccordionAnimationCollapse Duration="@duration" Effect="@collapseEffect"></AccordionAnimationCollapse>
            <AccordionAnimationExpand  Duration="@duration" Effect="@expandEffect"></AccordionAnimationExpand>
        </AccordionAnimationSettings>
        ...
    </SfAccordion>
    @code {
        private AnimationEffect ExpandEffect = AnimationEffect.FadeIn;
        private AnimationEffect CollapseEffect = AnimationEffect.FadeOut;
        private int duration = 300;
    }- The type of argument indexin theSelectmethod has been changed fromdoubletoint.
- The type of property indexwithinExpandEventArgsandExpandedEventArgshas been changed fromdoubletoint.
Breaking changes
| SfAccordion | Comments | 
|---|---|
| ModelType | This property is deprecated and will no longer be used. | 
| ExpandedIndicesExpression | This property is deprecated and will no longer be used. | 
| HeaderTemplate | This property is deprecated. Use AccordionTemplateto provide templates. | 
| ItemTemplate | This property is deprecated . Use AccordionTemplateto provide templates. | 
| HtmlAttributes | This method is deprecated. Use @attributesin SfAccordion tag. | 
| DataSource | This property is deprecated. Alternatively can achieve by iterating AccordionItem. | 
| Items | This property is deprecated. Use tag level AccordionItemto render accordion items. | 
| Locale | This property is deprecated. Hereafter, the Locale works based on the current culture of the machine. | 
| Animation | This property is deprecated and will no longer be work. Use tag level AccordionAnimationCollapseandAccordionAnimationExpand. | 
| AddItem | This method is deprecated. Use conditional statement in the AccordionItemto add accordion items. | 
| RemoveItem | This method is deprecated. Use conditional statement in the AccordionItemto remove accordion items. | 
| Refresh | This method is deprecated. Use StateHasChangedlifecycle method to re-render the accordion. | 
| EnableItem | This method is deprecated. Use Disabledproperty to enable/disable items. | 
| ExpandItem | This method is deprecated. Use Expandedproperty to expand/collapse items. | 
| HideItem | This method is deprecated. Use Visibleproperty to hide/show items. | 
- The following properties within ExpandEventArgsandExpandedEventArgshas been deprecated.
    public DOM Content { get; set; }
    public DOM Element { get; set; }AutoComplete
Breaking Changes
- You have to set the TValueandTItemwith a named model in AutoCompleteEvents component.
- Now, Localeproperty is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
- Now, Textproperty is deprecated and will no longer be used. Hereafter, use theValueproperty.
Previous
<SfAutoComplete TValue="string" TItem="OrdersList">
    <AutoCompleteEvents TValue="string" ValueChange="@onChange"></AutoCompleteEvents>
</SfAutoComplete>
@code {
    private IEnumerable<Order> OrdersList
    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
    {
        var itemData = JsonConvert.DeserializeObject<DateFormat>(args.ItemData != null ? args.ItemData.ToString() : "");
        var itemText = itemData.Text;
    }
}Now
<SfAutoComplete TValue="string" TItem="OrdersList">
    <AutoCompleteEvents TValue="string" TItem="OrdersList" ValueChange="@onChange"></AutoCompleteEvents>
</SfAutoComplete>
@code {
    private IEnumerable<Order> OrdersList
    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, OrdersList> args)
    {
        var itemText = args.ItemData.Text;
    }
}- Now, the ChangedEventArgs,SelectEventArgs,ActionCompleteEventArgs,CustomValueSpecifierEventArgsclasses are generic.
| Previous Event Name | Current Event Name | 
|---|---|
| ChangedEventArgs | ChangedEventArgs<TValue, TItem> | 
| SelectEventArgs | SelectEventArgs<TItem> | 
| ActionCompleteEventArgs | ActionCompleteEventArgs<TItem> | 
| CustomValueSpecifierEventArgs | CustomValueSpecifierEventArgs<TItem> | 
Bug Fixes
- 
## 292704,## 293722- The issue with “filtering returns wrong results in the autocomplete, whenHighlightis enabled in the item template”. Now you can call theHighLightSearchpublic method within the Item template with specific arguments.
<SfAutoComplete TValue="string" @ref="auto" TItem="EmployeeData" Highlight="@highlight"  Placeholder="Select a customer" DataSource="@Data">
    <AutoCompleteTemplates TItem="EmployeeData">
        <ItemTemplate>
            <div>
                <div class="ename"> @((MarkupString)auto.HighLightSearch(context.FirstName, true, Syncfusion.Blazor.DropDowns.FilterType.Contains)) </div>
            </div>
        </ItemTemplate>
    </AutoCompleteTemplates>
    <AutoCompleteFieldSettings Value="FirstName"></AutoCompleteFieldSettings>
</SfAutoComplete>
@code {
    SfAutoComplete<string, EmployeeData> auto;
}Barcode
Bug Fixes
- 
## 285010- Culture issue with barcode was now fixed.
Chart
Bug Fixes
- 
## 290866- Console error thrown for specific data in lasso selection has been fixed.
Chips
Breaking Changes
- Tag for rendering Chips component is changed from SfChipListtoSfChip.
- The properties EnablePersistence,Locale,EnableHtmlSanitizerare deprecated and will no longer be used.
- Inline properties like AvatarIconCss,AvatarText,LeadingIconCss,LeadingIconUrl,Text,TrailingIconUrl,TrailingIconCssfor rendering single chip are removed from the root tag. ChipItem tag must be used even for rendering a chip.
- 
AvatartIconCss&AvatarTextproperty of the ChipItem (child component) has been removed and useLeadingIconCss&LeadingTextproperty respectively.
Previous
<SfChipList Text="Apple" LeadingIconCss="e-logo">
</SfChipList>Now
<SfChip>
    <ChipItems>
       <ChipItem Text="Apple" LeadingIconCss="apple-logo"></ChipItem> 
    </ChipItems>
</SfChip>- 
Findmethod has been renamed asFindChipand this method will now only accept string values (value of the chip component whose model id required) and the value returned will be ofChipItemtype instead ofChipDataArgstype.
- 
GetSelectedChipsmethod will now return values as list ofChipIteminstead ofobjecttype.
- 
Selectmethod is renamed asSelectChipswhich will now accept string[] values indicating the chip item with the provided values are to be selected.
- 
Addmethod is now renamed asAddChipand will now accept values inChipItemtype instead ofChipModeltype.
| Previous Method (Before v18.3.0.35) | Current Method (From v18.3.0.35) | 
|---|---|
| public async Task<ChipDataArgs> Find(object chipIndex)  | public ChipItem FindChip(string value) | 
| public async Task<Object> GetSelectedChips() | public List<ChipItem> GetSelectedChips() | 
| public async Task Remove(object chipIndex) | public void RemoveChips(string[] removableChipValues) | 
| public async Task Select(object chipIndex) | public void SelectChips(string[] selectableChipValues) | 
| public void Add(ChipModel item) | public void AddChip(ChipItem item) | 
- 
SelectedItems,SelectedItemandChipDataArgsmodel class are now removed completely.
- 
ClickEventArgsandDeleteEventArgsare now removed.OnClick,OnBeforeClickandOnDeleteevents will have common arguments ofChipEventArgstype.
| Events | Previous Type (Before v18.3.0.35) | Current Type (From v18.3.0.35) | 
|---|---|---|
| OnClick | ClickEventArgs | ChipEventArgs | 
| OnBeforeClick | ClickEventArgs | ChipEventArgs | 
| OnDelete | DeleteEventArgs | ChipEventArgs | 
Circular Gauge
Breaking Changes
Enumeration
- The enumeration type GaugeThemeis changed asTheme.
Properties
- The following properties are deprecated in the circular gauge component.
| Property Name | Comments | 
|---|---|
| UseGroupingSeparator | This property is deprecated. Use EnableGroupingSeparatorto achieve this functionality. | 
| EnablePersistence | This property is deprecated. | 
| EnableRtl | This property is deprecated. | 
| Locale | This property is deprecated. Hereafter, locale works based on the current culture set in the application. | 
- The data type of the below properties are changed.
In CircularGaugeAxis class,
| Property Name | Previous Type | Current Type | 
|---|---|---|
| CircularGaugeAxis.RoundingPlaces | double | int | 
| CircularGaugeAxis.TabIndex | double | int | 
In CircularGaugeTooltipSettings class,
| Property Name | Previous Type | Current Type | 
|---|---|---|
| CircularGaugeRangeTooltipSettings.Template | string | RenderFragment | 
In CircularGaugeAnnotationTooltipSettings class,
| Property Name | Previous Type | Current Type | 
|---|---|---|
| CircularGaugeAnnotationTooltipSettings.Template | string | RenderFragment | 
Events
- The data type of event argument is changed and listed below.
| Previous Type | Current Type | 
|---|---|
| ITooltipRenderEventArgs | TooltipRenderEventArgs | 
| IResizeEventArgs | ResizeEventArgs | 
| IRadiusCalculateEventArgs | RadiusCalculateEventArgs | 
| IPrintEventArgs | PrintEventArgs | 
| IPointerDragEventArgs | PointerDragEventArgs | 
| IMouseEventArgs | MouseEventArgs | 
| ILoadedEventArgs | LoadedEventArgs | 
| ILegendRenderEventArgs | LegendRenderEventArgs | 
| IAxisLabelRenderEventArgs | AxisLabelRenderEventArgs | 
| IAnnotationRenderEventArgs | AnnotationRenderEventArgs | 
| IAnimationCompleteEventArgs | AnimationCompleteEventArgs | 
Methods
- We have changed the argument type of the SetRangeValuemethod .
| Arguments | Previous Type | Current Type | 
|---|---|---|
| axisIndex | double | int | 
| rangeIndex | double | int | 
- We have changed the argument type of the SetPointerValuemethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| axisIndex | double | int | 
| pointerIndex | double | int | 
- We have changed the argument type of the SetAnnotationValuemethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| axisIndex | double | int | 
| annotationIndex | double | int | 
- We have changed the argument of the Printmethod.
| Arguments | Comments | 
|---|---|
| id | This argument is removed. | 
- We have changed the argument type of the Exportmethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| orientation | object | PdfPageOrientation | 
Previous
<SfCircularGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfCircularGauge>
@code {
    SfCircularGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", "Portrait");
    }
}Now
<SfCircularGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfCircularGauge>
@code {
    SfCircularGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", Syncfusion.PdfExport.PdfPageOrientation.Portrait);
    }
}ComboBox
Breaking Changes
- You have to set the TValueandTItemwith a named model in ComboBoxEvents component.
- Now, Localeproperty is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
- Now, Textproperty is deprecated and will no longer be used. Hereafter, use theValueandIndexproperty.
- Now, provided two-way binding property called as an Indexto set an index of the DataSource.
Previous
<SfComboBox TValue="string" TItem="OrdersList">
    <ComboBoxEvents TValue="string" ValueChange="@onChange"></ComboBoxEvents>
</SfComboBox>
@code {
    private IEnumerable<Order> OrdersList
    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
    {
        var itemData = JsonConvert.DeserializeObject<DateFormat>(args.ItemData != null ? args.ItemData.ToString() : "");
        var itemText = itemData.Text;
    }
}Now
<SfComboBox TValue="string" TItem="OrdersList">
    <ComboBoxEvents TValue="string" TItem="OrdersList" ValueChange="@onChange"></ComboBoxEvents>
</SfComboBox>
@code {
    private IEnumerable<Order> OrdersList
    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, OrdersList> args)
    {
        var itemText = args.ItemData.Text;
    }
}- Now, the ChangedEventArgs,SelectEventArgs,ActionCompleteEventArgs,CustomValueSpecifierEventArgsclasses are generic.
| Previous Event Name | Current Event Name | 
|---|---|
| ChangedEventArgs | ChangedEventArgs<TValue, TItem> | 
| SelectEventArgs | SelectEventArgs<TItem> | 
| ActionCompleteEventArgs | ActionCompleteEventArgs<TItem> | 
| CustomValueSpecifierEventArgs | CustomValueSpecifierEventArgs<TItem> | 
- When enabled the AllowCustom, theValue fieldandValuemust bestringtype. Otherwise, you need to send theIteminCustomValueSpecifierevent.
<SfComboBox TValue="int" TItem="Countries" DataSource="@CountryList">
    <ComboBoxEvents TValue="int" TItem="Countries" CustomValueSpecifier="@customValue"></ComboBoxEvents>
    <ComboBoxFieldSettings Text="Name" Value="Code"></ComboBoxFieldSettings>
</SfComboBox>
@code {
    private IEnumerable<Countries> CountryList
    private void customValue(CustomValueSpecifierEventArgs<Countries> args)
    {
        args.Item = new Countries() { Code = 22, Name = args.Text };
    }
    public class Countries
    {
        public string Name { get; set; }
        public int Code { get; set; }
    }
}Bug Fixes
- 
## 291686,## 291885- Issue with “combobox close event is not fired when click on the document” has been resolved.
- 
## 292174- Issue with “exception is occurred when bind the interface type to TItem” has been resolved.
Common
New Features
- Provided .NET 5.0 Release Candidate (RC1) compatibility support for Syncfusion Blazor components.
Context Menu
New Features
- Provided multi-level tag directive support for Item model generation in ContextMenu.
- Provided template support for rendering custom menu items.
Breaking Changes
- ContextMenu container DOM element class name was changed from e-contextmenu-wrappertoe-contextmenu-container.
- 
ContextMenuEventscomponent name was changed toMenuEvents, which is used to initialize the events.
- The following methods are deprecated.
| Method | Description | 
|---|---|
| InsertAfterandInsertBefore | You can directly insert the new items in the Items collection. | 
| RemoveItems | You can directly remove the items from the Items collection. | 
| EnableItems | You can enable/disable using the item Disabledproperty. | 
| HideItemsandShowItems | You can hide/show using the item Hiddenproperty. | 
| Refresh | Use StateHasChangedlifecycle method to re-render the ContextMenu. | 
Dashboard Layout
Bug Fixes
- 
## 151323- The issue with “Dashboard layout not working when adding panel using RenderFragment” has been resolved.
Deprecated
Properties
Following properties are deprecated and will no longer be used.
| Class | Property | 
|---|---|
| SfRichTextEditor | BackgroundColor | 
| SfRichTextEditor | FontColor | 
| SfRichTextEditor | FontFamily | 
| SfRichTextEditor | FontSize | 
| SfRichTextEditor | Format | 
| SfRichTextEditor | IframeSettings | 
| SfRichTextEditor | InlineMode | 
| SfRichTextEditor | InsertImageSettings | 
| SfRichTextEditor | Locale | 
| SfRichTextEditor | PasteCleanupSettings | 
| SfRichTextEditor | QuickToolbarSettings | 
| SfRichTextEditor | TableSettings | 
| SfRichTextEditor | ToolbarSettings | 
| SfRichTextEditor | ValueTemplate | 
| RichTextEditorQuickToolbarSettings | Text | 
| RichTextEditorToolbarSettings | ItemConfigs | 
Following properties are deprecated. We can achieve same functionality with newly provided properties.
| Class | Property | Comments | 
|---|---|---|
| SfRichTextEditor | Formatter | Use RichTextEditorMarkdownOptionstag directive to achieve the functionality. | 
| SfRichTextEditor | HtmlAttributes | Use @attributesto set additional attributes for Rich Text Editor element. | 
| SfRichTextEditor | KeyConfig | Use KeyConfigureproperty to achieve the functionality. | 
| RichTextEditorFormat | Types | Use Itemsproperty to achieve the functionality. | 
| RichTextEditorImageSettings | Resize | Use EnableResizeproperty to achieve the functionality. | 
| RichTextEditorInlineMode | OnSelection | Use ShowOnSelectionproperty to achieve the functionality. | 
| RichTextEditorPasteCleanupSettings | AllowedStyleProps | Use AllowedStylePropertiesproperty to achieve the functionality. | 
| RichTextEditorPasteCleanupSettings | DeniedAttrs | Use DeniedAttributesproperty to achieve the functionality. | 
| RichTextEditorTableSettings | Resize | Use EnableResizeproperty to achieve the functionality. | 
Methods
Following methods are deprecated and will no longer be used.
- GetContent
- GetHtml
- SanitizeHtml
- SelectRange
Events
| RichTextEditorEvents | Comments | 
|---|---|
| OnSanitizeHtml | This event is deprecated and will no longer be used. | 
| Resizing | This event is deprecated and will no longer be used. | 
| OnImageUploading | This event is deprecated and will no longer be used. Use BeforeUploadImageevent to achieve the functionality. | 
Event Models
Following event model classes are deprecated and will no longer be used.
- BeforeSanitizeHtmlArgs
- SanitizeSelectors
- SanitizeRemoveAttrs
Following event model properties are deprecated and will no longer be used.
| Event Class | Property | 
|---|---|
| ActionBeginEventArgs | Name | 
| ActionBeginEventArgs | OriginalEvent | 
| ActionCompleteEventArgs | Event | 
| ActionCompleteEventArgs | Name | 
| AfterImageDeleteEventArgs | Element | 
| BeforeQuickToolbarOpenArgs | TargetElement | 
| BlurEventArgs | Event | 
| BlurEventArgs | Name | 
| ChangeEventArgs | Name | 
| DestroyedEventArgs | Cancel | 
| DestroyedEventArgs | Name | 
| DialogOpenEventArgs | Container | 
| DialogOpenEventArgs | Element | 
| DialogOpenEventArgs | Name | 
| DialogOpenEventArgs | Target | 
| DialogCloseEventArgs | Container | 
| DialogCloseEventArgs | Element | 
| DialogCloseEventArgs | Event | 
| DialogCloseEventArgs | Name | 
| DialogCloseEventArgs | Target | 
| FocusEventArgs | Event | 
| FocusEventArgs | Name | 
| ImageFailedEventArgs | E | 
| ImageFailedEventArgs | Name | 
| ImageSuccessEventArgs | E | 
| ImageSuccessEventArgs | Name | 
| QuickToolbarEventArgs | Element | 
| QuickToolbarEventArgs | Name | 
| ResizeArgs | Event | 
| ToolbarClickEventArgs | Name | 
| ToolbarClickEventArgs | OriginalEvent | 
| ToolbarUpdateEventArgs | Name | 
Diagram
New Features
- 
276871,F154206- Support was added for the customization of individual symbol palette symbols.
Bug Fixes
- 
## 285793- The issue with “Bring to front does not work for group node” has been fixed.
- 
## 264082- The issue of “Sometimes difficult to make the connection to a port when set ConnectToNearByNode constraints” has been fixed.
Dialog
Bug Fixes
- 
292738,292045,293758- The issue with “Task cancelled exception thrown in the dialog component” has been resolved.
Document Editor
Breaking Changes
Event args type of OnToolbarClick was changed from Syncfusion.Blazor.Navigations.ClickEventArgs to Syncfusion.Blazor.DocumentEditor.ClickEventArgs.
New Features
- 
## 243495- Added support for automatic text color.
- 
## 279355- Added support to enable properties pane in read only mode.
- 
## 260677,## 277329- Added support for cropping images in document editor.
- 
## 256210,## 259583,## 280989,## 282228- Added support for all Caps property for character.
- 
## 287831- Added public API to show spell check dialog.
- 
## 284434- Spell checker performance was optimized.
- 
## 290423- Added resize API in document editor container.
- 
## 243495,## 247427,## 248347,## 252755,## 254094,## 254684,## 256926,## 248347,## 260233,## 262638,## 273681,## 155458,## 278038- Added support to preserve content control feature.
Bug Fixes
- 
## 284837- Custom tool bar item click event issue in DocumentEditorContainer is resolved.
- 
## 283180- Resolved font family no records found issue.
- 
## 282303- Paste dropdown now hides when creating or opening new document.
- 
## 280951- Table content renders properly now for table with merged cells.
- 
## 280973- Resolved script while getting bookmarks from selection.
- 
## 284486- Comment Tab in pane is removed when enable comment is false.
- 
## 283344- Resolved the initial delay in pasting images.
- 
## 282707,## 284035- Resolved bullet list exporting issue in MAC devices.
- 
## 284412- Comment mark is now deleted properly when comment is deleted.
- 
## 281339- Resolved RTL issue when editing a list content.
- 
## 276616- Paragraph maintained when inserting text in whole paragraph similar to MS Word.
- 
## 284775- Resolved table resize enabled issue in protected mode.
- 
## 282504- Resolved footer content overlapping issue when inserting image and table in footer.
- 
## 286986- Table properties are now written properly on html exporting.
- 
## 286520- Inserted text selection now applied properly after applying style.
- 
## 287740- Paper size dropdown in page setup dialog now updated for document with A4 format.
- 
## 282515- Resolved error on exporting a document which contains restart numbering.
- 
## 287633- Table containing alignment is now exporting properly with alignment.
- 
## 286469- Resolved table formatting issue when table splits to multiple pages.
- 
## 285747- Resolved script error on server side export.
- 
## 284704- Resolved script error on changing the footer distance.
- 
## 283529- Resolved table layout issue when table is center aligned.
- 
## 286474- Resolved table re layout issue when table have left indent value.
- 
## 289186- Resolved issue on exporting a text box with line format none.
- 
## 288198- Font family customization is also available on modify style dialog now.
- 
## 289187- Resolved table border rendering issue when table have merged cells.
- 
## 287255- Resolved page unresponsive error occurs on mail merge.
- 
## 286474,## 288778- Resolved script error thrown on choosing fill color.
- 
## 155699- Image resize history is now called before the content change event.
- 
## 156086- Resolved table layout issue on opening a saved document with merged cells.
- 
## 148494- Resolved script error on destroying the container.
- 
## 289186- Resolved layout issue on exporting a text box.
- 
## 289172- Resolved script error when two or more server request is passed at same time.
- 
## 287775- Resolved script error on saving a document with form field.
- 
## 289902- Custom page height and width is now updating properly in page setup dialog.
- 
## 289902- Resolved review pane enabled issue when track changes is disabled.
- 
## 157264- Resolved script error when finding a text with curly braces.
- 
## 290625- Tick icon in line spacing is aligned properly now.
- 
## 291882- Now,Text contents were not transformed to upper case while copying.
- 
## 287582- Apply shading property for form field is now maintained also on exported document.
- 
## 280951- Table contents were not rendered on footer region now.
- 
## 287195- Resolved script error throw while deleting large text inside a table.
- 
## 155699- Resolved selection change event gets triggered before created event of document editor issue.
- 
## 290271- Resolved some elements are not created with unique id in document editor component issue.
- 
## 288253- Exported document with comments from editor contain initials property in file level now.
- 
## 287740- Landscape Orientation not updated properly in page setup dialog now.
- 
## 291080,## 157393- Restrict editing property works when setting on component creation now.
DropDown Button
Breaking Changes
- 
Togglemethod was changed fromasynchronoustosynchronous. Now you can access withoutawait.
DropDownList
Breaking Changes
- You have to set the TValueandTItemwith a named model in DropDownListEvents component.
- Now, Localeproperty is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
- Now, Textproperty is deprecated and will no longer be used. Hereafter, use the Value and Index property.
- Now, provided two-way binding property called as an Indexto set an index of the DataSource.
Previous
<SfDropDownList TValue="string" TItem="OrdersList">
    <DropDownListEvents TValue="string" ValueChange="@onChange"></DropDownListEvents>
</SfDropDownList>
@code {
    private IEnumerable<Order> OrdersList
    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
    {
        var itemData = JsonConvert.DeserializeObject<DateFormat>(args.ItemData != null ? args.ItemData.ToString() : "");
        var itemText = itemData.Text;
    }
}Now
<SfDropDownList TValue="string" TItem="OrdersList">
    <DropDownListEvents TValue="string" TItem="OrdersList" ValueChange="@onChange"></DropDownListEvents>
</SfDropDownList>
@code {
    private IEnumerable<Order> OrdersList
    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, OrdersList> args)
    {
        var itemText = args.ItemData.Text;
    }
}- Now, the ChangedEventArgs,SelectEventArgs,ActionCompleteEventArgsclasses are generic.
| Previous Event Name | Current Event Name | 
|---|---|
| ChangedEventArgs | ChangedEventArgs<TValue, TItem> | 
| SelectEventArgs | SelectEventArgs<TItem> | 
| ActionCompleteEventArgs | ActionCompleteEventArgs<TItem> | 
Bug Fixes
- 
## 280501- Issue with “complex properties value goes empty in the value template” has been resolved.
- 
## 290652- Issue with “value maintained in the local storage while binding on initial load” has been resolved.
- 
## 289645- Issue with “value is not updated while adding the new item usingAddItemmethod” has been resolved.
Grid
Bug Fixes
- 
## 292763- Not able to save the selected DatePicker value in Grid by pressing Enter Key is resolved.
- 
## 287902,## 291792,## 292665,## 292862- Autofil Feature is not working in Grid is fixed.
- 
## 292173,## F157585- Issue with changing grid datasource dynamically with empty collection is solved.
- 
## 291719,## F157572,## 292315,## 292552,## 293199,## 294658,## 294662- Exception throws while defining grid with auto-generated columns is fixed.
- 
## 289442- Exception occur when defining the GridColumn Width as auto is resolved.
- 
## 291738-OnActionCompleteevent not triggered when hide columns through ColumnChooser in ColumnMenu is fixed.
- 
## 293894,## F157953,## 294074,## 294845,## 294872,## F157963- Exception is thrown while saving the changes in grid with CommandColumns/Column Template is fixed.
- 
## 293725- Exception occur when opening the FilterMenu for second time is solved.
- 
## 285724- Exception occurs when focusing Grid immediately once Grid rendered is resolved.
- 
## 289415,## F156939- Delete method is not auto generated (Scaffolded) for DataGrid is resolved.
New Features
- 
## F157820- Provided a method to focus grid. Use FocusAsync method to focus grid.
Breaking Changes
- In ColumnMenuClickEventArgsclass, below properties types are changed.
| Property | Previous Type | Current Type | 
|---|---|---|
| Element | DOM  | ElementReference | 
| Event | Navigations.EventArgs | System.EventArgs | 
- In ContextMenuClickEventArgsclass, below properties types are changed.
| Property | Previous Type | Current Type | 
|---|---|---|
| Element | DOM  | ElementReference | 
| Items |  List<ContextMenuItem>| ` List | |
| ContextMenuObj |  SfContextMenu<Navigations.ContextMenuItem>|SfContextMenu<Navigations.MenuItem> | 
- In ContextMenuOpenEventArgsclass, below property type changed.
| Property | Previous Type | Current Type | 
|---|---|---|
| Element | DOM | ElementReference | 
In-place Editor
Breaking Changes
Following model classes are moved into Syncfusion.Blazor.InplaceEditor namespace.
- BackgroundColorModel
- BlurEventArgs
- FocusEventArgs
- FontColorModel
- FontFamilyModel
- FontSizeModel
- FormatModel
- IFrameSettingsModel
- ImageSettingsModel
- InlineModeModel
- PasteCleanupSettingsModel
- QuickToolbarSettingsModel
- RichTextEditorModel
- ToolbarSettingsModel
- TableSettingsModel
Kanban
Breaking Changes
- The ShowAddButtonproperty is deprecated. Hereafter, use theAllowAddingproperty to enable add button in columns.
| Deprecated API | New API | |
|---|---|---|
| API | ShowAddButton | AllowAdding | 
Previous
    <KanbanColumn ShowAddButton="true"></KanbanColumn>Now
    <KanbanColumn AllowAdding="true"></KanbanColumn>- The column KeyFieldand stacked headerKeyFieldsstring type is changed to list of string.
| Property | Previous Type | New Type | 
|---|---|---|
| KeyField | string | List<string> | 
| KeyFields | string | List<string> | 
Previous
    <KanbanColumn KeyField="Open" ShowAddButton="true"></KanbanColumn>
    ...
    <KanbanStackedHeader KeyFields="InProgress, Review"></KanbanStackedHeader>Now
    <KanbanColumn KeyField=@(new List<string>() { "Open" }) AllowAdding="true"></KanbanColumn>
    ...
    <KanbanStackedHeader KeyFields=@(new List<string>() {"InProgress", "Review" })>
    </KanbanStackedHeader>- Dialog Modelproperty is deprecated and will no longer be used. Now, we can useModelproperties as direct properties inDialogSettingscomponent likeAllowDragging,AnimationSettings,CloseOnEscape,CssClass,EnableResize,Height,IsModal,MinHeight,Position,ShowCloseIcon,Target,WidthandZIndex.
Previous
    <KanbanDialogSettings Model="@dialogModel"></KanbanDialogSettings>
    @code{
        private KanbanDialogModel dialogModel = new KanbanDialogModel()
        {
            AllowDragging = true,
            AnimationSettings = new DialogAnimationSettings() { Delay = 1000, Duration = 1000, Effect = DialogEffect.FlipYLeft },
            CloseOnEscape = false,
            CssClass = "e-red",
            EnableResize = true,
            IsModal = false,
            Position = new DialogPositionData() { X = "left", Y = "top" },
            ShowCloseIcon = false,
            Target = ".e-kanban",
            Width = "500",
            ZIndex = 1005
        };
    }Now
    <KanbanDialogSettings AllowDragging="@AllowDragging" AnimationSettings="@AnimationSettings" CloseOnEscape="@CloseOnEscape" CssClass="@CssClass" EnableResize="@EnableResize" IsModal="@IsModal" Position="@DialogPosition" ShowCloseIcon="@ShowCloseIcon" Target="@Target" Width="@Width" ZIndex="@ZIndex">
        </KanbanDialogSettings>
    @code {
        private bool AllowDragging { get; set; } = true;
        private DialogAnimationSettings AnimationSettings { get; set; } = new DialogAnimationSettings() { Delay = 1000, Duration = 1000, Effect = DialogEffect.FlipYLeft };
        private bool CloseOnEscape { get; set; } = true;
        private string CssClass { get; set; } = "e-red";
        private bool EnableResize { get; set; } = true;
        private bool IsModal { get; set; } = false;
        private DialogPositionData DialogPosition { get; set; } = new DialogPositionData() { X = "left", Y = "top" };
        private bool ShowCloseIcon { get; set; } = false;
        private string Target { get; set; } = ".e-kanban";
        private string Width { get; set; } = "500";
        private int ZIndex { get; set; } = 1005;
    }- The AddCard,UpdateCardandDeleteCardmethod argument type is changed fromobjectto generic type.
| Method Name | Previous Argument Type | New Argument Type | 
|---|---|---|
| AddCard | object | TValue | 
| UpdateCard | object | TValue | 
| DeleteCard | object | TValue | 
- Now, the ActionEventArgsclass name is generic andAddedRecords,ChangedRecordsandDeletedRecordsproperty type is changed fromobjecttoIEnumerable<TValue>.Targetproperty is deprecated and included onExceptionproperty.
Previous
public class ActionEventArgs
{
    .....
    public object AddedRecords { get; set; }
    public object ChangedRecords { get; set; }
    public object DeletedRecords { get; set; }
}Now
public class ActionEventArgs<TValue>
{
    .....
    public IEnumerable<TValue> AddedRecords { get; set; }
    public IEnumerable<TValue> ChangedRecords { get; set; }
    public IEnumerable<TValue> DeletedRecords { get; set; }
}- Now, the CardClickEventArgsclass is generic.Dataproperty type is changed fromobjecttoTValue,EventandElementproperties are deprecated.
Previous
public class CardClickEventArgs
{
    .....
    public object Data { get; set; }
}Now
public class CardClickEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}- Now, the CardRenderedEventArgsclass is generic.Dataproperty type is changed fromobjecttoTValueandNameproperty is deprecated.
Previous
public class CardRenderedEventArgs
{
    .....
    public object Data { get; set; }
}Now
public class CardRenderedEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}- Now, the DialogCloseEventArgsclass is generic.Dataproperty type is changed fromobjecttoTValueandNameproperty is deprecated.
Previous
public class DialogCloseEventArgs
{
    .....
    public object Data { get; set; }
}Now
public class DialogCloseEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}- Now, the DialogEventArgsclass name changed toDialogOpenEventArgsclass which is generic.Dataproperty type is changed fromobjecttoTValueandNameproperty is deprecated.
Previous
public class DialogEventArgs
{
    .....
    public object Data { get; set; }
}Now
public class DialogOpenEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}- Now, the DragEventArgsclass is generic.Dataproperty type is changed fromIEnumerable<object>toList<TValue>,ElementandEventproperties are deprecated.
Previous
public class DragEventArgs
{
    .....
    public IEnumerable<object> Data { get; set; }
}Now
public class DragEventArgs<TValue>
{
    .....
    public List<TValue> Data { get; set; }
}- Now, the QueryCellInfoEventArgsclass is generic.Dataproperty type is changed fromobjecttoList<SwimlaneSettingsModel>.
Previous
public class QueryCellInfoEventArgs
{
    .....
    public object Data { get; set; }
}Now
public class QueryCellInfoEventArgs<TValue>
{
    .....
    public List<SwimlaneSettingsModel> Data { get; set; }
}- 
ColumnsModelandStackedHeadersModelclass name changed toColumnModelandStackedHeaderModel.
| Previous Model Name | Current Model name | 
|---|---|
| ColumnsModel | ColumnModel | 
| StackedHeadersModel | StackedHeaderModel | 
Previous
        <KanbanColumns>
            @foreach (ColumnsModel item in columnData)
            {
                <KanbanColumn HeaderText="@item.HeaderText" KeyField="@item.KeyField">
                </KanbanColumn>
            }
        </KanbanColumns>
        <KanbanStackedHeaders>
           @foreach (StackedHeadersModel item in stackedHeaderData)
            {
                <KanbanStackedHeader Text="@item.Text" KeyFields="@item.KeyFields">
                </KanbanStackedHeader>
            }
        <KanbanStackedHeaders>
  
    @code{
        private List<ColumnsModel> columnData = new List<ColumnsModel>() {
            new ColumnsModel(){ HeaderText= "In Progress", KeyField= "InProgress" }
        };
        private List<StackedHeadersModel> stackedHeaderData = new List<StackedHeadersModel>() {
            new StackedHeadersModel(){ Text= "Development Phase", KeyFields= "InProgress, Review" }
        };
    }Now
        <KanbanColumns>
            @foreach (ColumnModel item in columnData)
            {
                <KanbanColumn HeaderText="@item.HeaderText" KeyField="@item.KeyField"></KanbanColumn>
            }
        </KanbanColumns>
        <KanbanStackedHeaders>
             @foreach (StackedHeaderModel item in stackedHeaderData)
            {
                <KanbanStackedHeader Text="@item.Text" KeyFields="@item.KeyFields">
                </KanbanStackedHeader>
            }
        <KanbanStackedHeaders>
   
    @code {
        private List<ColumnModel> columnData = new List<ColumnModel>() {
            new ColumnModel(){ HeaderText= "In Progress", KeyField= new List<string>() { "InProgress" }
        };
        private List<StackedHeaderModel> stackedHeaderData = new List<StackedHeaderModel>() {
            new StackedHeaderModel(){ Text= "Development Phase", KeyFields= new List<string>() { "InProgress", "Review" } }
        };
    }- Following property type changed on ColumnModelclass and included onVisibleproperty.
Previous
public class ColumnModel
{
    .....
    public string KeyField { get; set; } = null;
    public bool ShowAddButton { get; set; } = false;
}Now
public class ColumnModel
{
    .....
    public List<string> KeyField { get; set; }
    public bool AllowAdding { get; set; }
    public bool Visible { get; set; } = true;
}- Following property type changed on StackedHeaderModelclass.
Previous
public class StackedHeaderModel
{
    .....
    public string KeyFields { get; set; } = null;
}Now
public class StackedHeaderModel
{
    .....
    public List<string> KeyFields { get; set; }
}- 
    The CardSettingsModel,DialogSettingsModelandKanbanDialogModelclass is deprecated.
- 
    The Dragevent is deprecated and will no longer be used.
- 
    The GetSwimlaneDatamethod return type changed fromobjecttoList<TValue>.
- 
    The GetColumnDatamethod return type changed fromobjecttoList<TValue>which argumentskeytype changed fromstringtoList<string>anddataSourcetype changed fromobjecttoIEnumerable<TValue>.
| Method Name | Previous Return Type | New Return Type | Argument Name | Previous Type | New Type | 
|---|---|---|---|---|---|
| GetSwimlaneData | object | List<TValue> | - | - | - | 
| GetColumnData | object | List<TValue> | Key dataSource | stringobject | List<string>IEnumerable<TValue> | 
- The GetSelectedCardsmethod is deprecated and will no longer be used.
- The Refreshmethod is deprecated and will no longer be used.
- The Localeis deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
- The DeleteColumnmethod is deprecated and will no longer be used. Hereafter, use the property binding to delete column dynamically.
- The AddColumnmethod is deprecated and will no longer be used. Hereafter, use the property binding to add column dynamically.
- The ShowColumnmethod is deprecated and will no longer be used. Hereafter, use the columnVisibleproperty to show the column.
- The HideColumnmethod is deprecated and will no longer be used. Hereafter, use the columnVisibleproperty to hide the column.
New Features
- Dynamically, show or hide the Kanban columns using column Visibleproperty.
- Dialog editing custom field support is provided which have following KanbanDialogSettingsFieldcomponent properties.
| Property Name | Type | 
|---|---|
| Key | string | 
| Text | string | 
| Type | DialogFieldType | 
- Added generic type classes DataBindingEventArgsandDataBoundEventArgswhich provided the following properties.
| Property Name | Type | 
|---|---|
| Count | int | 
| Result | List<TValue> | 
Bug Fixes
- 
## F157933- “DragEventArgsandCardClickEventArgsclassdataproperty type changed fromobjectto generic type” issue is resolved.
Linear Gauge
Breaking Changes
Enumeration
- The enumeration type LinearGaugeThemeis changed asTheme.
Properties
- The following properties are deprecated in the linear gauge component.
| Property Name | Comments | 
|---|---|
| UseGroupingSeparator | This property is deprecated. Use EnableGroupingSeparatorto achieve this functionality. | 
| EnablePersistence | This property is deprecated. | 
| EnableRtl | This property is deprecated. | 
| Locale | This property is deprecated. Hereafter, locale works based on the current culture set in the application. | 
- The data type of the below properties are changed.
| Property Name | Previous Type | Current Type | 
|---|---|---|
| TabIndex | double | int | 
| LinearGaugeAnnotation.AxisIndex | double | int | 
Events
The data type of event argument is changed and listed below.
| Previous Type | Current Type | 
|---|---|
| IValueChangeEventArgs | ValueChangeEventArgs | 
| ITooltipRenderEventArgs | TooltipRenderEventArgs | 
| IResizeEventArgs | ResizeEventArgs | 
| IPrintEventArgs | PrintEventArgs | 
| IPointerDragEventArgs | PointerDragEventArgs | 
| IMouseEventArgs | MouseEventArgs | 
| ILoadedEventArgs | LoadedEventArgs | 
| ILoadEventArgs | LoadEventArgs | 
| IAxisLabelRenderEventArgs | AxisLabelRenderEventArgs | 
| IAnnotationRenderEventArgs | AnnotationRenderEventArgs | 
| IAnimationCompleteEventArgs | AnimationCompleteEventArgs | 
Methods
- We have changed the argument type of the SetPointerValuemethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| axisIndex | double | int | 
| pointerIndex | double | int | 
- We have changed the argument type of the SetAnnotationValuemethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| axisIndex | double | int | 
| annotationIndex | double | int | 
- We have changed the arguments of Printmethod.
| Arguments | Comments | 
|---|---|
| id | This argument is removed. | 
- We have changed the argument type of the Exportmethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| orientation | object | PdfPageOrientation | 
Previous
<SfLinearGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfLinearGauge>
@code {
    SfLinearGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", "Portrait");
    }
}Now
<SfLinearGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfLinearGauge>
@code {
   SfLinearGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", Syncfusion.PdfExport.PdfPageOrientation.Portrait);
    }
}ListBox
Breaking Changes
- ListBox container DOM element class name was changed from e-listbox-wrappertoe-listbox-container.
Properties
- 
Scopeproperty type was changed fromstringtoListBox component reference (SfListBox<TValue, TItem>).
- 
ListBoxToolbarSettingscomponentItemsproperty default acceptable value was changed frommoveUp,moveDown,moveTo,moveFrom,moveAllToandmoveAllFromtoMoveUp,MoveDown,MoveTo,MoveFrom,MoveAllToandMoveAllFrom.
- The following properties are deprecated.
| Property | Description | 
|---|---|
| IDandHtmlAttributes | Use @attributes to set id and also additional attributes for list box element. | 
Previous
<SfListBox ID="listbox1" TValue="ValueType" TItem="DataSourceType" Scope="## listbox2">
    <ListBoxToolbarSettings Items="@items"></ListBoxToolbarSettings>
</SfListBox>
<SfListBox ID="listbox2" TValue="ValueType" TItem="DataSourceType"></SfListBox>
@code {
    private string[] items = new string[] { "moveUp", "moveDown", "moveTo", "moveFrom", "moveAllTo", "moveAllFrom" };
}Now
<SfListBox @ref="listbox1" TValue="ValueType" TItem="DataSourceType" Scope="@scope1">
    <ListBoxToolbarSettings Items="@items"></ListBoxToolbarSettings>
</SfListBox>
<SfListBox @ref="listbox2" TValue="ValueType" TItem="DataSourceType" Scope="@scope2"></SfListBox>
@code {
    private SfListBox<ValueType, DataSourceType> listBox1;
    private SfListBox<ValueType, DataSourceType> listBox2;
    private SfListBox<ValueType, DataSourceType> scope1;
    private SfListBox<ValueType, DataSourceType> scope2;
    private string[] items = new string[] { "MoveUp", "MoveDown", "MoveTo", "MoveFrom", "MoveAllTo", "MoveAllFrom" };
    protected override void OnAfterRender(bool firstRender)
    {
        if (firstRender) {
            scope1 = listBox2;
            scope2 = listBox1;
            StateHasChanged();
        }
    }
}Methods
- 
GetDataByValuemethod return type was changed fromobjecttoList<TItem>and its parameter type was changed fromobjecttoTValue.
- 
MoveAllTomethod optional first argument andMoveTomethod optional last argument which acceptsScopeparameter type was changed fromstringtoListBox component reference.
- 
MoveUp,MoveDownandMoveTomethods optional first argument type was changed fromobjecttoTValue.
- 
EnableItemsandSelectItemsmethods first argument type was changed fromobjecttogeneric (T)type. You can pass eithervalue (TValue)ordata source(IEnumerable<TItem>)collection.
- 
RemoveItemmethod optional first argument type was changed fromobjecttoIEnumerable<TItem>.
- The following methods are deprecated.
| Method | Description | 
|---|---|
| Filter | Use AllowFilteringandFilterTypeproperty to perform filtering actions. | 
| GetDataByValues | Use GetDataByValuemethod to get the single or collection of data matching the provided value. | 
| GetSortedList | This method will no longer be used. | 
| RemoveItems | Use RemoveItemmethod to remove the list items. | 
| Refresh | Use StateHasChangedlifecycle method to re-render the ListBox. | 
| RequiredModulesandGetItems | This method will no longer be used. | 
Events
- Event argument type of OnActionComplete,DroppedandOnDropevents was changed to strongly typed.
| Event | Previous Event Args | Current Event Args | 
|---|---|---|
| Dropped | DragEventArgs | DragEventArgs<TItem> | 
| OnDrop | DropEventArgs | DropEventArgs<TItem> | 
| OnActionComplete | ActionCompleteEventArgs | ActionCompleteEventArgs<TItem> | 
- The following events are deprecated.
    - DataBound
- Dragging
- Select
 
ListView
Breaking Changes
- You need to set the TValuewith a named model in the ListView component.
- The Locale,IsVisible,Fieldsare deprecated and will no longer be used.
- 
Idfield must declare and initialized inListViewFieldSettingstag.
Previous
<SfListView DataSource="@Data">
    <ListViewFieldSettings Id="Id" Text="Text"></ListViewFieldSettings>
</SfListView>
@code {
    List<DataModel> Data = new List<DataModel>();
    protected override void OnInitialized()
    {
        base.OnInitialized();
        Data.Add(new DataModel { Text = "Hennessey Venom", Id = "list-01" });
        Data.Add(new DataModel { Text = "Bugatti Chiron", Id = "list-02" });
        Data.Add(new DataModel { Text = "Bugatti Veyron Super Sport", Id = "list-03" });
    }
    class DataModel
    {
        public string Id { get; set; }
        public string Text { get; set; }
    }
}Now
<SfListView DataSource="@Data" TValue="DataModel">
     <ListViewFieldSettings TValue="DataModel" Id="ID" Text="Text"></ListViewFieldSettings>
 </SfListView>
@code {
    DataModel[] Data =
    {
        new DataModel { Text = "Hennessey Venom", ID = "list-01" },
        new DataModel { Text = "Bugatti Chiron", ID = "list-02" },
        new DataModel { Text = "Bugatti Veyron Super Sport", ID = "list-03" }
    };
    class DataModel
    {
        public string Text { get; set; }
        public string ID { get; set; }
    }
}- The CheckItem&UncheckItemmethods are deprecated and useCheckItems&UncheckItemsmethods respectively.
- The RemoveItemandRemoveMultipleItemsmethods are deprecated,RemoveItemscan be used instead.
- The CheckAllItemsandUncheckAllItemsmethods are deprecated.CheckItemsandUncheckItemscan be used instead.
- The AddItem,FindItem,HideItem,SelectItem,SelectMultipleItems,GetSelectedItems,RefreshItemHeight,Render,Backmethods are deprecated.
- New methods RemoveItems,CheckItems,UncheckItemswith typeIEnumarable<TValue>are introduced.
| Method Name | Previous Param (Before v18.3.0.35) | Current Param (From v18.3.0.35) | 
|---|---|---|
| DisableItem | object item | TValue listItem | 
| EnableItem | object item | TValue listItem | 
| Remove | object item | TValue listItem | 
- 
Selectedevent now replaced asClickedevent.
| Event Name | Previous Event Type (Before v18.3.0.35) | Current Event Type (From v18.3.0.35) | 
|---|---|---|
| Clicked | SelectEventArgs | ClickEventArgs | 
| OnActionBegin | DataBound | ActionEventsArgs | 
| OnActionComplete | DataBound | ActionEventsArgs | 
| OnActionFailure | DataBoundFailed | FailureEventArgs | 
Menu
Breaking Changes
- Menu component reference type was to changed to strongly typed from SfMenutoSfMenu<TValue>.
- Menu container DOM element class name was changed from e-menu-wrappertoe-menu-container.
Properties
- Items property type was changed from objecttoList<TValue>.
- 
MenuFieldSettingscomponent all field mapping properties type was changed fromobjecttostring.
- The following properties are deprecated.
    - ID
- EnableHtmlSanitizer
- EnablePersistence
- Locale
 
Methods
- The following methods are deprecated.
| Method | Description | 
|---|---|
| InsertAfterandInsertBefore | You can directly insert the new items in the Items collection. | 
| RemoveItems | You can directly remove the items from the Items collection. | 
| EnableItems | You can enable/disable using the item Disabledproperty. | 
| HideItemsandShowItems | You can hide/show using the item Hiddenproperty. | 
| Refresh | Use StateHasChangedlifecycle method to re-render the Menu. | 
Events
- The below list of event argument type was changed to strongly typed.
| Event | Previous Event Args | Current Event Args | 
|---|---|---|
| ItemSelectedandOnItemRender | MenuEventArgs | MenuEventArgs<TValue> | 
| OnOpenandOnClose | BeforeOpenCloseMenuEventArgs | BeforeOpenCloseMenuEventArgs<TValue> | 
| OpenedandClosed | OpenCloseMenuEventArgs | OpenCloseMenuEventArgs<TValue> | 
Previous
<SfMenu @ref="Menu" Items="@menuItems">
    <MenuEvents ItemSelected="@SelectHandler"></MenuEvents>
    <MenuFieldSettings Text="@FieldText"></MenuFieldSettings>
</SfMenu>
@code {
    SfMenu Menu;
    private List<DataModel> menuItems = new List<DataModel>();
    private object FieldText = "Value";
    private void SelectHandler(MenuEventArgs e) {
        ...
    }
    private class DataModel
    {
        public string Value { get; set; }
    }
}Now
<SfMenu @ref="Menu" Items="@menuItems">
    <MenuEvents TValue="DataModel" ItemSelected="@SelectHandler"></MenuEvents>
    <MenuFieldSettings Text="@FieldText"></MenuFieldSettings>
</SfMenu>
@code {
    SfMenu Menu<DataModel>;
    private List<DataModel> menuItems = new List<DataModel>();
    private string FieldText = "Value";
    private void SelectHandler(MenuEventArgs<DataModel> e) {
        ...
    }
    private class DataModel
    {
        public string Value { get; set; }
    }
}New Features
- Provided multi-level tag directive support for Item model generation in Menu.
NumericTextBox
Bug Fixes
- 
## 288516- Issue with “value get flickering while pasting the non-numeric value” has been resolved.
- 
## 292725- Issue with “numeric value is updated while scrolling the mouse wheel in the Read-only mode” has been resolved.
- 
## 293197,## 293425,## 293019- Issue with “Min and Max property is not updated properly when set short and byte datatype” has been resolved.
PDF Viewer
Bug Fixes
- 
## F156838- The export success event triggers properly when you export the form fields data using the ExportFormFieldsAsObject method.
- 
## 285509- Now, the signature is loaded properly in the PDF document.
- 
## 289417- Now, the annotation toolbar position is maintained correctly.
- 
## 283977,## 288781- Now, the custom stamp image is maintained correctly.
- 
## 291591- Now, the text selection event is triggered properly.
- 
## 287511- Resolved the casing issue in the stamp annotation.
- 
## 290535,## 294012- The compilation error is no longer occurred on using TextData property.
- 
## 291066,## 290732,## F157392- The script error is no longer occurred on close the window.
- 
## 288981- Now, the extract text is working properly.
New Features
- 
## 285244- Provided the support to render the button field in the PDF document.
- 
## 289233- Provided the support to add an expiration timing for the cache.
- 
## 267670- Exposed the toolbar option to retrieve the form field data in the JSON format.
- 
## 292106- Exposed the property to open the annotation toolbar during the initial loading.
- 
## 285456- Provided the support to change the localization dynamically for the PDF viewer control.
- 
## 291004- Provided the support to display the signature throughout the given signature field.
- 
## 288250- Provided the support to maintain the selection of the text markup annotation.
- 
## 284600,## F152648- Provided the support to navigate between the signature fields in the code behind.
- 
## 284195,## 285170,## 288894,## 293861,## 294991- Provided the support to add the custom signature image and text in the signature field.
Pivot Table
Bug Fixes
- 
## F156821- The “BeforeExport” event is now available in Blazor.
Progress Button
Breaking Changes
Properties
- 
IconPositionproperty type was changed fromobjecttoenum (Syncfusion.Blazor.Buttons.IconPosition).
- 
ProgressButtonSpinSettingscomponentTemplateproperty name was changed toSpinTemplateand its type was changed fromstringtoRenderFragment.
Methods
- 
Stopmethod was changed fromasynchronoustosynchronous. Now you can access withoutawait.
- 
Startmethod optional argument type was changed fromNullable<double>todouble.
Query Builder
Breaking Changes
- QueryBuilder component reference type was changed to strongly typed from SfQueryBuildertoSfQueryBuilder<TValue>.
Properties
- Below list of properties type was changed.
| Property | Previous | Current | 
|---|---|---|
| DataSource | object | IEnumerable<TValue> | 
| QueryBuilderColumn->Type | string | Enum (Syncfusion.Blazor.QueryBuilder.ColumnType) | 
| MaxGroupCount | double | int | 
- The following properties are deprecated.
| Property | Description | 
|---|---|
| ID | Use @attributesto set id for query builder. | 
| Columns | Use <QueryBuilderColumns>component to initialize the columns. | 
| Locale | This property will no longer be used. | 
| Rule | Use <QueryBuilderRule>component to initialize the rule. | 
| ShowButtons | Use <QueryBuilderShowButtons>component to initialize the button properties. | 
Methods
- 
AddGroupsandAddRulesmethods name was changed toAddGroupandAddRuleand its first argument type was changed fromobjecttoRuleModel.
- 
DeleteGroups,DeleteRulesmethods name was changed toDeleteGroupandDeleteRuleand its first argument type was changed fromobjecttostring.
- 
GetGroupmethod first argument type was changed fromobjecttostring.
- 
GetDataManagerQuerymethod parameter marked as optional and its return type was changed fromobjecttoQuery.
- 
GetFilteredRecordsmethod return type was changed fromobjecttoIEnumerable<TValue>.
- 
GetPredicatemethod parameter marked as optional and its return type was changed fromobjecttoWhereFilter.
- 
GetRulesFromSqlandSetRulesFromSqlmethods parameter marked as optional.
- 
SetRulesmethod parameter type was changed fromRuletoList<Rule>.
- The following methods are deprecated.
| Method | Description | 
|---|---|
| GetRule | Use GetRules/GetValidRulesmethod for getting rules. | 
| ValidateFields | Use AllowValidationproperty to validate fields. | 
| NotifyChange | This property will no longer be used. | 
New Features
- Added GetOperatorsmethod to get the operator lists.
Recurrence Editor
New Features
- The two way binding support has been provided for Valueproperty.
Breaking Changes
- The type of property FirstDayOfWeekhas been changed fromdoubletoint.
- The type of property SelectedTypehas been changed frominttoRepeatTypeenumeration.
- The properties IDandLocaleproperty has been deprecated and no longer can be used.
- The return type of method GetRecurrenceDateshas been changed fromList<double>toList<DateTime>and type of its argumentmaximumCounthas beem changed fromdouble?toint?.
- 
    The following method is no longer an asynchronous method. - GetRecurrenceDates
- SetRecurrenceRule
- GetRecurrenceRule
- GetRuleSummary
- UpdateRuleUntilDate
 
RichTextEditor
New Features
- 
## 281117- Provided newImageUploadChangeevent to get the selected image file asMemoryStream.
Breaking Changes
Properties
Following properties types are changed
| Class | Property | Previous Type | Current Type | 
|---|---|---|---|
| SfRichTextEditor | MaxLength | double | int | 
| SfRichTextEditor | UndoRedoSteps | double | int | 
| SfRichTextEditor | UndoRedoTimer | double | int | 
| RichTextEditorBackgroundColor | Columns | double | int | 
| RichTextEditorBackgroundColor | Mode | ColorModeType | ColorPickerMode | 
| RichTextEditorFontColor | Columns | double | int | 
| RichTextEditorFontColor | Mode | ColorModeType | ColorPickerMode | 
| RichTextEditorFontFamily | Items | object | List<DropDownItemModel> | 
| RichTextEditorFontSize | Items | object | List<DropDownItemModel> | 
| RichTextEditorImageSettings | AllowedTypes | string[] | List<string> | 
| RichTextEditorImageSettings | Display | string | ImageDisplay | 
- In RichTextEditorPasteCleanupSettingsclass,AllowedStyleProps,DeniedAttrsproperties are deprecated. Use below new properties for achieve similar functionality.
| Previous Property | New Property | 
|---|---|
| AllowedStyleProps | AllowedStyleProperties | 
| DeniedAttrs | DeniedAttributes | 
- Now Formatterproperty is deprecated. UseRichTextEditorMarkdownOptionstag directive to configure Markdown properties.
Previous
    <SfRichTextEditor EditorMode="EditorMode.Markdown" Formatter="@Format">
        ....
    </SfRichTextEditor>
    @code {
        private string Format = "new sf.richtexteditor.MarkdownFormatter({ 'listTags': { 'OL': '1., 2., 3.' } })";
    }Now
    <SfRichTextEditor EditorMode="EditorMode.Markdown">
        <RichTextEditorMarkdownOptions ListSyntax="@syntax"></RichTextEditorMarkdownOptions>
    </SfRichTextEditor>
    @code {
        private Dictionary<string, string> syntax { get; set; } = new Dictionary<string, string>(){
            {"OL","1., 2., 3." }
        };
    }- Now KeyConfigproperty is deprecated. UseKeyConfigureproperty to configure custom KeyConfiguration.
Previous
    <SfRichTextEditor KeyConfig="@Config">
        ....
    </SfRichTextEditor>
    @code {
        public object Config = new
        {
            bold = "ctrl+1",
            italic = "ctrl+2"
        };
    }Now
    <SfRichTextEditor KeyConfigure="@Config">
        ....
    </SfRichTextEditor>
    @code {
        private ShortcutKeys Config = new ShortcutKeys()
        {
            Bold = "ctrl+1",
            Italic = "ctrl+2"
        };
    }- In RichTextEditorFormatclass,Typesproperty is deprecated. UseItemsproperty to configure custom format items.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorFormat Types="@FormatItems" />
    </SfRichTextEditor>
    @code {
        public object FormatItems { get; set; }
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorFormat Items="@FormatItems" />
    </SfRichTextEditor>
    @code {
        public List<DropDownItemModel> FormatItems { get; set; }
    }- In RichTextEditorIFrameSettingsclass,Attributesproperty type changed fromobjecttoDictionary<string, object>.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorIFrameSettings Attributes="@CustomIframeAttributes" />
    </SfRichTextEditor>
    @code {
        public object CustomIframeAttributes { get; set; } = new { { "disabled", "disabled" } };
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorIFrameSettings Attributes="@CustomIframeAttributes" />
    </SfRichTextEditor>
    @code {
        public Dictionary<string, object> CustomIframeAttributes { get; set; } = new Dictionary<string, object>() {
            { "disabled", "disabled" }
        };
    }- In RichTextEditorInlineModeclass,OnSelectionproperty deprecated. UseShowOnSelectionnew property to achieve the functionality.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorInlineMode OnSelection="true" />
    </SfRichTextEditor>Now
    <SfRichTextEditor>
        ....
        <RichTextEditorInlineMode ShowOnSelection="true" />
    </SfRichTextEditor>- In RichTextEditorQuickToolbarSettingsclass,Imageproperty type changed fromobjecttoList<ImageToolbarItemModel>.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Image="@ImageItems" />
    </SfRichTextEditor>
    @code {
        public object ImageItems { get; set; } = new { "Replace", "Remove" };
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Image="@ImageItems" />
    </SfRichTextEditor>
    @code {
        public List<ImageToolbarItemModel> ImageItems { get; set; } = new List<ImageToolbarItemModel>() {
            new ImageToolbarItemModel() { Command = ImageToolbarCommand.Replace },
            new ImageToolbarItemModel() { Command = ImageToolbarCommand.Remove }
        };
    }- In RichTextEditorQuickToolbarSettingsclass,Linkproperty type changed fromobjecttoList<LinkToolbarItemModel>.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Link="@LinkItems" />
    </SfRichTextEditor>
    @code {
        public object LinkItems { get; set; } = new { "Open", "UnLink" };
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Link="@LinkItems" />
    </SfRichTextEditor>
    @code {
        public List<LinkToolbarItemModel> LinkItems { get; set; } = new List<LinkToolbarItemModel>() {
            new LinkToolbarItemModel() { Command = LinkToolbarCommand.Open },
            new LinkToolbarItemModel() { Command = LinkToolbarCommand.UnLink }
        };
    }- In RichTextEditorQuickToolbarSettingsclass,Tableproperty type changed fromobjecttoList<TableToolbarItemModel>.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Table="@TableItems" />
    </SfRichTextEditor>
    @code {
        public object TableItems { get; set; } = new { "TableHeader", "TableRemove" };
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Table="@TableItems" />
    </SfRichTextEditor>
    @code {
        public List<TableToolbarItemModel> TableItems { get; set; } = new List<TableToolbarItemModel>() {
            new TableToolbarItemModel() { Command = TableToolbarCommand.TableHeader },
            new TableToolbarItemModel() { Command = TableToolbarCommand.TableRemove }
        };
    }- In RichTextEditorTableSettingsclass,Stylesproperty type changed fromobjecttoList<DropDownItemModel>.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorTableSettings Styles="@Style" />
    </SfRichTextEditor>
    @code {
        public object Style { get; set; } = new {
            { text: 'Alternate Rows', cssClass: 'e-alternate-rows', command: 'Table', subCommand: 'Alternate' }
        };
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorTableSettings Styles="@Style" />
    </SfRichTextEditor>
    @code {
        public List<DropDownItemModel> Style { get; set; } = new List<DropDownItemModel>() {
            new DropDownItemModel() { CssClass = "e-alternate-rows", Command = "Table", SubCommand = "Alternate", Text = "Alternate Rows" }
        };
    }- In RichTextEditorToolbarSettingsclass,Itemsproperty type changed fromobjecttoList<ToolbarItemModel>.
Previous
    <SfRichTextEditor>
        ....
        <RichTextEditorToolbarSettings Items="@Tools" />
    </SfRichTextEditor>
    @code {
        public object Tools { get; set; } = new { "Bold", "Italic" };
    }Now
    <SfRichTextEditor>
        ....
        <RichTextEditorToolbarSettings Items="@Tools" />
    </SfRichTextEditor>
    @code {
        public List<ToolbarItemModel> Tools { get; set; } = new List<ToolbarItemModel>()
        {
            new ToolbarItemModel() { Command = ToolbarCommand.Bold },
            new ToolbarItemModel() { Command = ToolbarCommand.Italic }
        };
    }Methods
Following method arguments type changed
| Method | Argument | Previous Argument Type | Current Argument Type | 
|---|---|---|---|
| DisableToolbarItem | items | object | List<ToolbarCommand> | 
| DisableToolbarItem | muteToolbarUpdate | This argument is removed. | |
| EnableToolbarItem | items | object | List<ToolbarCommand> | 
| EnableToolbarItem | muteToolbarUpdate | This argument is removed. | |
| RemoveToolbarItem | items | object | List<ToolbarCommand> | 
- We have modified the ExecuteCommandwith method overloading and now we can use it like below
Previous
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }
        ....
        this.rteObj.ExecuteCommand(CommandName.Bold);
        ....
    }Now
- Passing CommandName alone.
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }
        ....
        this.rteObj.ExecuteCommand(CommandName.Bold);
        ....
    }- Passing CommandName with value.
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }
        ....
        this.rteObj.ExecuteCommand(CommandName.BackgroundColor, "## RRGGBB");
        ....
    }- Passing Image command with ImageCommandsArgsclass arguments
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }
        ....
        this.rteObj.ExecuteCommand(CommandName.InsertImage, new ImageCommandsArgs()
            {
                Url = "https://blazor.syncfusion.com/demos/images/rich-text-editor/rte-image-feather.png",
                AltText = "Feather"
            }
        );
        ....
    }- Passing Link command with LinkCommandsArgsclass arguments
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }
        ....
        this.rteObj.ExecuteCommand(CommandName.CreateLink, new LinkCommandsArgs()
            {
                Url = "www.google.com",
                Text = "Google"
            }
        );
        ....
    }- Passing Table command with TableCommandsArgsclass arguments
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }
        ....
        this.rteObj.ExecuteCommand(CommandName.InsertTable, new TableCommandsArgs()
            {
                Rows = 3,
                Columns = 3
            }
        );
        ....
    }Events
Following events return type changed
| Event Name | Previous Type | Current Type | 
|---|---|---|
| OnDialogClose | BeforeOpenEventArgs | BeforeCloseEventArgs | 
| OnImageRemoving | object | RemovingEventArgs | 
- 
OnImageUploadingevent is deprecated. UseBeforeUploadImageevent to achieve functionality.
Previous
    <SfRichTextEditor>
        <RichTextEditorEvents OnImageUploading="ImageUploadHandler"></RichTextEditorEvents>
    </SfRichTextEditor>Now
    <SfRichTextEditor>
        <RichTextEditorEvents BeforeUploadImage="ImageUploadHandler"></RichTextEditorEvents>
    </SfRichTextEditor>Scheduler
Bug Fixes
- 
## 279686,## 289248,## 155614- ResourceData can be accessed inTemplateContextwithin ResourceHeaderTemplate and ResourceHeaderTooltipTemplate instead of casting to TValue.
- 
## 292294,## 293403- The issue with Appointments missing in month view with different timezone has been resolved.
- 
## 286945- The issue with overlapping of appointments when usingEventRenderedevent has been resolved.
- 
## 291825- The issue with swedish culture has been resolved.
- GetCurrentViewDates method will now return the current dates avail in the scheduler view.
New Features
- Provided a API MaxEventsPerRowto control the rendering of number of events in a row in the timeline views and month views.
- 
## 151438,## 151722- Built-in fieldCssClasshas been provided to apply styles to each appointment element.
- 
## 156055- A public method has been introduced to get the currently selected event collections.
- 
## 154771- Excel export now supports to export with 24 hour date format.
- Templates will now return proper DateTime, no need to convert explicitly usingToUniversalTime().
Breaking Changes
- 
RowAutoHeightandEditFollowingEventsproperties are now renamed asEnableAutoRowHeightandAllowEditFollowingEvents.
Previous
<SfSchedule TValue="AppointmentData" RowAutoHeight="true">
    <ScheduleEventSettings DataSource="@DataSource" EditFollowingEvents="true"></ScheduleEventSettings>
</SfSchedule>Now
<SfSchedule TValue="AppointmentData" Height="650px" EnableAutoRowHeight="true">
    <ScheduleEventSettings DataSource="@DataSource" AllowEditFollowingEvents="true"></ScheduleEventSettings>
</SfSchedule>- Generic class of resource dataSource has been renamed as TItemand Generic support for resource idTValuehas been provided withinScheduleResourcewhich should be in array type ifAllowMultipleis true.
Previous
<ScheduleResources>
    <ScheduleResource TValue="ResourceData" DataSource="@RoomData" Field="RoomId" Title="Room" Name="Rooms" AllowMultiple="false"></ScheduleResource>
    <ScheduleResource TValue="ResourceData" DataSource="@OwnersData" Field="OwnerId" Title="Owner" Name="Owners" AllowMultiple="true"></ScheduleResource>
</ScheduleResources>
public class ResourceData
{
    public int Id { get; set; }
    public string Text { get; set; }
    public string Color { get; set; }
    public int GroupId { get; set; }
}Now
<ScheduleResources>
    <ScheduleResource TItem="ResourceData" TValue="int" DataSource="@RoomData" Field="RoomId" Title="Room" Name="Rooms" AllowMultiple="false"></ScheduleResource>
    <ScheduleResource TItem="ResourceData" TValue="int[]" DataSource="@OwnersData" Field="OwnerId" Title="Owner" Name="Owners" AllowMultiple="true"></ScheduleResource>
</ScheduleResources>
public class ResourceData
{
    public int Id { get; set; }
    public string Text { get; set; }
    public string Color { get; set; }
    public int GroupId { get; set; }
}- 
TemplateContextneed to be provided inResourceHeaderTemplateandResourceHeaderTooltipTemplateinstead of casting from TValue.
Previous
    <HeaderTooltipTemplate>
        <div class='template-wrap'>
                <div class="resource-name">@(((context as AppointmentData).ResourceData as ResourceData).Text)</div>
        </div>
    </HeaderTooltipTemplate>
    <ResourceHeaderTemplate>
        <div class='template-wrap'>
            <div class="resource-details">
                <div class="resource-name">@(((context as AppointmentData).ResourceData as ResourceData).Text)</div>
                <div class="resource-designation">@(((context as AppointmentData).ResourceData as ResourceData).Designation)</div>
            </div>
        </div>
    </ResourceHeaderTemplate>Now
    <HeaderTooltipTemplate>
        <div class='template-wrap'>
                <div class="resource-name">@(((context as TemplateContext).ResourceData as ResourceData).Text)</div>
        </div>
    </HeaderTooltipTemplate>
        <ResourceHeaderTemplate>
        <div class='template-wrap'>
            <div class="resource-details">
                <div class="resource-name">@(((context as TemplateContext).ResourceData as ResourceData).Text)</div>
                <div class="resource-designation">@(((context as TemplateContext).ResourceData as ResourceData).Designation)</div>
            </div>
        </div>
    </ResourceHeaderTemplate>- Must use two way property binding for SelectedDateandCurrentViewproperties.
- In EditorTemplatemust use two way binding for value/property binding.
- 
    The type of following scheduler properties are changed from doubletoint.- AgendaDaysCount
- FirstDayOfWeek
- Interval in ScheduleTimeScale,ScheduleViewTimeScale,ScheduleView
- SlotCount in ScheduleTimeScale,ScheduleViewTimeScale
- FirstDayOfWeek in ScheduleView
 
- In NavigateOptionsclass, type ofTimeDelayproperty has been changed fromdoubletoint.
- In ScrollOptionsclass, type ofScrollByandTimeDelayhas been changed fromdoubletoint.
- The type of Validationproperty is changed fromobjecttoValidationRule.
Breaking changes
| SfSchedule | Comments | 
|---|---|
| CurrentViewExpression | This property is deprecated and will no longer be used. | 
| SelectedDateExpression | This property is deprecated and will no longer be used. | 
| AllowExcelExport | This property is deprecated and will no longer be used. | 
| HtmlAttributes | This property is deprecated and will no longer be used. | 
| Locale | This property is deprecated. Hereafter, the Locale works based on the current culture of the machine. | 
| DateHeaderTemplate | This property is deprecated. Use tag level DateHeaderTemplatewithinScheduleTemplatesto render date header template. | 
| EditorTemplate | This property is deprecated. Use tag level EditorTemplatewithinScheduleTemplatesto render date header template. | 
| CellHeaderTemplate | This property is deprecated. Use tag level CellHeaderTemplatewithinScheduleTemplatesto render date header template. | 
| CellTemplate | This property is deprecated. Use tag level CellTemplatewithinScheduleTemplatesto render date header template. | 
| ResourceHeaderTemplate | This property is deprecated. Use tag level ResourceHeaderTemplatewithinScheduleTemplatesto render date header template. | 
| EventSettings | This property is deprecated. Use tag level ScheduleEventSettingsto provide event settings. | 
| TimeScale | This property is deprecated. Use tag level ScheduleTimeScaleto provide timescale settings. | 
| HeaderRows | This property is deprecated. Use tag level ScheduleHeaderRowto provide header row settings. | 
| QuickInfoTemplates | This property is deprecated. Use tag level ScheduleQuickInfoTemplatesto render quick info template. | 
| WorkHours | This property is deprecated. Use tag level ScheduleWorkHoursto provide work hour details. | 
| Group | This property is deprecated. Use tag level ScheduleGroupto provide group details. | 
| Views | This property is deprecated. Use tag level ScheduleViewto provide view settings. | 
| GetEventDetails | This method is deprecated and will no longer be work. Use GetTargetEvent(int left, int top)orGetSelectedEvents()methods. | 
| GetTargetElement | This method is deprecated and will no longer be work. Use GetTargetEvent(int left, int top)orGetTargetCell(int left, int top)methods. | 
| GetCellDetails | This method is deprecated and will no longer be work.Use GetTargetEvent(int left, int top)orGetSelectedCells()methods. | 
| GetSelectedElements | This method is deprecated and will no longer be work. Use GetSelectedCells()orGetSelectedEvents()methods. | 
| AddEvent | This method is deprecated. Use AddEvent(TValue data)to add appointment. | 
| SaveEvent | This method is deprecated. Use SaveEvent(TValue data)to save appointment. | 
| DeleteEvent | TThis method is deprecated a. Use DeleteEvent(TValue eventData, CurrentAction? currentAction = null)to delete event using event data and useDeleteEvent<T>(T id, CurrentAction? currentAction = null)to delete appointment based on its id. | 
| OpenEditor | TThis method is deprecated and no longer be used. Use OpenEditor(CellClickEventArgs data, CurrentAction action, int? repeatType = null)to open editor on cell and useOpenEditor(TValue data, CurrentAction action)to open editor on appointment. | 
| IsSlotAvailable | TThis method is deprecated and no longer be used. IsSlotAvailable(TValue startTime)and useIsSlotAvailable(DateTime startTime, DateTime? endTime = null, int? groupIndex = null)to check availability based on appointment and datetime range. | 
| AddResource | This method is deprecated. Use AddResource<T>(List<T> resources, string name, int index)to add resources. | 
| RemoveResource | This method is deprecated. Use RemoveResource<T>(List<T> resourceIDList, string name)to remove resources. | 
| CollapseResource | This method is deprecated. Use CollapseResource<T>(T resourceId, string name)to collapse resource. | 
| ExpandResource | This method is deprecated. Use ExpandResource<T>(T resourceId, string name)to expand resource. | 
| ScrollToResource | This method is deprecated. Use ScrollToResource<T>(T resourceId, string groupName = null)to scroll to specific resource. | 
| GetDeletedOccurrences | This method is deprecated. Use GetDeletedOccurrences<T>(T recurrenceData)to get the deleted occurrences. | 
| GetOccurrencesByID | This method is deprecated. Use GetOccurrencesByID<T>(T eventID)to get the occurrences based on event id. | 
| ImportICalendar | This method is deprecated. Use ImportICalendar(string fileContent)to import ICalendars to the scheduler. | 
| SetWorkHours | This method is deprecated. Use SetWorkHours(List<DateTime> dates, string start, string end, Nullable<int> groupIndex = null)to set work hours dynamically. | 
| ResetWorkHours | This method is deprecated. Use ResetWorkHours(List<DateTime> dates, string start, string end, Nullable<int> groupIndex = null)to set work hours dynamically. | 
| ScheduleQuickInfoTemplates | Comments | 
|---|---|
| Content | This property is deprecated. Use ContenTemplatetag to provide template to quick info content. | 
| Footer | This property is deprecated. use FooterTemplatetag to provide template to quick info footer. | 
| Header | This property is deprecated. Use HeaderTemplatetag to provide template to quick info header. | 
| ScheduleView | Comments | 
|---|---|
| Group | This property is deprecated. Use ScheduleViewGrouptag to achieve view wise grouping. | 
| TimeScale | This property is deprecated. use ScheduleViewTimeScaletag to achieve view view timescale settings. | 
| ScheduleEventSettings | Comments | 
|---|---|
| Fields | This property is deprecated. Use ScheduleFieldtag to provide event fields detail. | 
| ScheduleField | Comments | 
|---|---|
| Description | This property is deprecated. Use FieldDescriptiontag to set Description field details. | 
| EndTime | This property is deprecated. use FieldEndTimetag to set EndTime field details. | 
| EndTimezone | This property is deprecated. Use FieldEndTimezonetag to set EndTimezone field details. | 
| IsAllDay | This property is deprecated. Use FieldIsAllDaytag to set IsAllDay field details. | 
| Location | This property is deprecated. Use FieldLocationtag to set Location field details. | 
| RecurrenceException | This property is deprecated. Use FieldRecurrenceExceptiontag to set RecurrenceException field details. | 
| RecurrenceID | This property is deprecated. Use FieldRecurrenceIdtag to set description RecurrenceID details. | 
| StartTime | This property is deprecated. Use FieldStartTimetag to set StartTime field details. | 
| StartTimezone | This property is deprecated. Use FieldStartTimezonetag to set StartTimezone field details. | 
| RecurrenceRule | This property is deprecated. Use FieldRecurrenceRuletag to set RecurrenceRule rule field details. | 
| Subject | This property is deprecated. Use FieldSubjecttag to set Subject field details. | 
- 
GetEventMaxIDandGetResourcesbyIndexmethods are now renamed asGetMaxEventIdandGetResourceByIndex.
- 
    The following methods will no longer be asynchronous methods. - CloseEditor
- GetCurrentViewDates
- GetCurrentViewEvents
- GetOccurrencesByRange
- HideSpinner
- ShowSpinner
 
- In ActionEventArgs<T>class, few properties has been deprecated and modified few property type.
Previous
    public class ActionEventArgs<T>
    {
        public List<T> AddedRecords { get; set; }
        public bool Cancel { get; set; }
        public List<T> ChangedRecords { get; set; }
        public object Data { get; set; }
        public List<T> DeletedRecords { get; set; }
        public MouseEventArgs Event { get; set; }
        public double GroupIndex { get; set; }
        public object Items { get; set; }
        public string Name { get; set; }
        public Exception Error { get; set; }
        public string RequestType { get; set; }
    }Now
    public class ActionEventArgs<T>
    {
        public List<T> AddedRecords { get; set; }
        public bool Cancel { get; set; }
        public List<T> ChangedRecords { get; set; }
        public List<T> DeletedRecords { get; set; }
        public int GroupIndex { get; set; }
        public Exception Error { get; set; }
        public ActionType ActionType { get; set; }
    }- In CellClickEventArgsclass, few properties has been deprecated and modified few property type.
Previous
    public class CellClickEventArgs
    {
        public bool Cancel { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public double GroupIndex { get; set; }
        public bool IsAllDay { get; set; }
        public string Name { get; set; }
        public DateTime StartTime { get; set; }
    }Now
    public class CellClickEventArgs
    {
        public bool Cancel { get; set; }
        public DateTime EndTime { get; set; }
        public int GroupIndex { get; set; }
        public bool IsAllDay { get; set; }
        public DateTime StartTime { get; set; }
    }- In DataBindingEventArgs<T>andDataBoundEventArgs<T>class, following properties has been deprecated.
    public double Count { get; set; }
    public string Name { get; set; }- In DragEventArgs<T>class, few properties has been deprecated and modified few property type.
Previous
    public class DragEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public string ExcludeSelectors { get; set; }
        public double GroupIndex { get; set; }
        public double Interval { get; set; }
        public string Name { get; set; }
        public NavigateOptions Navigation { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }]
        public DOM Target { get; set; }
    }Now
    public class DragEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DateTime EndTime { get; set; }
        public string ExcludeSelectors { get; set; }
        public int GroupIndex { get; set; }
        public int Interval { get; set; }
        public NavigateOptions Navigation { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }]
    }- In EventClickArgs<T>class, few properties has been deprecated and modified few property type.
Previous
    public class EventClickArgs<T>
    {
        public bool Cancel { get; set; }")]
        public DOM Element { get; set; }
        public T Event { get; set; }
        public string Name { get; set; }    
    }Now
    public class EventClickArgs<T>
    {
        public bool Cancel { get; set; }")]
        public T Event { get; set; }
        public List<T> EventCollection { get; set; }
    }- In EventRenderedArgs<T>class, few properties has been deprecated and modified few property type.
Previous
    public class EventRenderedArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DOM Element { get; set; }
        public string Name { get; set; }
        public double GroupIndex { get; set; }
        public string Type { get; set; }
    }Now
    public class EventRenderedArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public List<string> CssClasses { get; set; }
        public ElementReference ElementReference { get; set; }
        public int GroupIndex { get; set; }
        public AppointmentType AppointmentType { get; set; }
    }- In MoreEventsClickArgsclass, few properties has been deprecated and modified few property type.
Previous
    public class MoreEventsClickArgs
    {
        public bool Cancel { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public double GroupIndex { get; set; }
        public bool IsPopupOpen { get; set; }]
        public string Name { get; set; }
        public DateTime StartTime { get; set; }
        public View ViewName { get; set; }
    }Now
    public class MoreEventsClickArgs
    {
        public bool Cancel { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public int GroupIndex { get; set; }
        public bool IsPopupOpen { get; set; }]
        public DateTime StartTime { get; set; }
        public View ViewName { get; set; }
    }- In NavigatingEventArgsclass, few properties has been deprecated and modified few property type.
Previous
    public class NavigatingEventArgs
    {
        public string Action { get; set; }
        public bool Cancel { get; set; }
        public DateTime CurrentDate { get; set; }
        public View CurrentView { get; set; }
        public string Name { get; set; }
        public DateTime PreviousDate { get; set; }
        public View PreviousView { get; set; }
        public int ViewIndex { get; set; }
    }Now
    public class NavigatingEventArgs
    {
        public string Action { get; set; }
        public bool Cancel { get; set; }
        public DateTime CurrentDate { get; set; }
        public View CurrentView { get; set; }
        public DateTime PreviousDate { get; set; }
        public View PreviousView { get; set; }
        public int ViewIndex { get; set; }
    }- In PopupCloseEventArgs<T>class, following properties has been deprecated.
    public DOM Element { get; set; }
    public string Name { get; set; }
    public DOM Target { get; set; }- In PopupOpenEventArgs<T>class, few properties has been deprecated and modified few property type.
Previous
   public class PopupOpenEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public double Duration { get; set; }
        public DOM Element { get; set; }
        public string Name { get; set; }
        public DOM Target { get; set; }
        public PopupType Type { get; set; }
    }Now
   public class PopupOpenEventArgs<T>
    {
        public int Duration { get; set; }
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public PopupType Type { get; set; }
    }- In RenderCellEventArgs<T>class, few properties has been deprecated and modified few property type.
Previous
    public class RenderCellEventArgs
    {
        public DateTime Date { get; set; }
        public CellDOM Element { get; set; }
        public ElementType ElementType { get; set; } = new ElementType();
        public double? GroupIndex { get; set; }
        public string Name { get; set; }   
    }Now
    public class RenderCellEventArgs
    {
        public DateTime Date { get; set; }
        public List<string> CssClasses { get; set; }
        public ElementType ElementType { get; set; }
        public int? GroupIndex { get; set; }
    }- In ResizeEventArgs<T>class, few properties has been deprecated and modified few property type.
Previous
    public class ResizeEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }]
        public double GroupIndex { get; set; }
        public double Interval { get; set; }
        public string Name { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }
    }Now
    public class ResizeEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DateTime EndTime { get; set; }
        public int GroupIndex { get; set; }
        public int Interval { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }
    }- In ResourceDetails<T>class, modified few property type.
Previous
    public class ResourceDetails<T>
    {
        public object GroupData { get; set; }
        public Resource Resource { get; set; }
        public List<ResourceDetails<T>> ResourceChild { get; set; }
        public T ResourceData { get; set; }
        public string ResourceId { get; set; }
        public string ResourceName { get; set; } 
    }Now
    public class ResourceDetails<T>
    {
        public T GroupData { get; set; }
        public Resource Resource { get; set; }
        public List<ResourceDetails<T>> ResourceChild { get; set; }
        public object ResourceData { get; set; }
        public string ResourceId { get; set; }
        public string ResourceName { get; set; } 
    }Sidebar
Breaking Changes
- The Zindextype is changed fromdoubletoint.
- The Show,Hide,Togglemethods are deprecated and will no longer be used. Use theIsOpenproperty to achieve the same requirement.
- The DOM Elementparameter of event arguments is changed toElementReference Element.
New Features
- 
## 285088- Provided the dynamically binding support to the HtmlAttributes property in the Sidebar component.
Slider
Bug Fixes
- 
## 287260- The issue with the “Tooltip change event is triggered three times when changing the value of the Slider component” has been resolved.
Spinner
New Features
- 
    A new property Visibleis given where it specifies the value that represents whether the Spinner component is visible. It supports two-way binding and can be used as an alternate for Show and Hide methods.
- 
    A new property ZIndexis given where it specifies the z-order for the Spinner.
- 
    New events support are given in the Spinner and it is as follows, 
| Event Name | Functionality | Type | 
|---|---|---|
| Created | Triggered when the Spinner is created. | Object | 
| OnBeforeOpen | Triggered before the Spinner is opened. | SpinnerEventArgsArgument: Cancel Set cancel as true to prevent showing or hiding of the spinner. | 
| OnBeforeClose | Triggered before the Spinner is closed. | SpinnerEventArgsArgument: Cancel Set cancel as true to prevent showing or hiding of the spinner. | 
| Destroyed | Triggered when the Spinner is destroyed. | Object | 
Breaking Changes
- 
    The IsRenderedproperty is deprecated and will no longer be used.
- 
    The SpinnerTypeclass moved fromSyncfusion.Blazor.PopupstoSyncfusion.Blazor.Spinnernamespace.
- 
    The Targetproperty is deprecated and will no longer be used. Hereafter, the spinner will automatically be appended where it is rendered.
- 
    The Widthproperty is deprecated and will no longer be used. UseSizeproperty to update the width of the spinner.
- 
    The CreateSpinnermethod is deprecated and will no longer be used. Hereafter, the spinner will automatically be created where it is rendered.
- 
    The SetSpinnermethod is deprecated and will no longer be used. Hereafter, the spinner will automatically set where it is rendered.
- 
    The methods ShowSpinner and HideSpinner are changed, and it is as follows, 
| Previous Method | Current Method | 
|---|---|
| ShowSpinner(string Target) | Show() | 
| HideSpinner(string target) | Hide() | 
The argument
Targetis not necessary to pass to the Show and Hide methods.
Toast
Bug Fixes
- 
281031-The issue with “SfToast properties are not updated properly when showing multiple times” has been resolved.
- 
287560- The issue with “SfToast events are triggered with some delay” has been resolved.
Breaking Changes
Properties
- 
TimeOutproperty is now deprecated. UseTimeoutproperty to configure timeout value for a toast.
- 
Timeouttype is changed fromdoubletoint.
Previous
<SfToast TimeOut="1000">
</SfToast>Now
<SfToast Timeout="1000">
</SfToast>- 
ButtonsComponent is now deprecated .UseToastButtonscomponent to configure the toast buttons.
- 
ToastButtonModelPropsandToastButtonModelPropcomponents are now deprecated.UseToastButtonsandToastButtoncomponents to configure button properties
Previous
<SfToast>
    <ToastButtonModelProps>
        <ToastButtonModelProp Model="@buttonModel"></ToastButtonModelProp>
    </ToastButtonModelProps>
</SfToast>
@code {
     private ButtonModel buttonModel = new ButtonModel { Content = "Click Here" };
}Now
<SfToast>
    <ToastButtons>
        <ToastButton Content = "Click Here"></ToastButton>
    </ToastButtons>
</SfToast>- 
ToastAnimationSettingsShowandToastAnimationSettingsHidecomponents are renamed asToastShowAnimationSettingsandToastHideAnimationSettings
Previous
<SfToast>
  <ToastAnimationSettings>
        <ToastAnimationSettingsShow Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastAnimationSettingsShow>
        <ToastAnimationSettingsHide Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastAnimationSettingsHide>
    </ToastAnimationSettings>
</SfToast>
@code {
    private string ToastEffect = "FadeIn";
    private string ToastEasing = "ease";
    private double ToastDuration = 1000;
}Now
<SfToast>
    <ToastAnimationSettings>
        <ToastShowAnimationSettings Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastShowAnimationSettings>
        <ToastHideAnimationSettings Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastHideAnimationSettings>
    </ToastAnimationSettings>
</SfToast>
@code {
    
    private ToastEffect ToastEffect = ToastEffect.FadeIn;
    private ToastEasing ToastEasing = ToastEasing.Ease;
    private int ToastDuration = 1000;
}- 
Templateproperty is now deprecated. UseContentTemplateproperty to render toast templates.
Previous
<SfToast @ref="ToastObj">
    <ToastEvents Created="@OnToastCreate"></ToastEvents
</SfToast>
@code {
 SfToast MailToastObj;
  
 private async Task OnToastCreate() {
 string content ="<div> Syncfusion Toast</div>";
 await this.MailToastObj.Show(new ToastModel { Template = content});
 }
}Now
<SfToast @ref="ToastObj">
    <ToastEvents Created="@OnToastCreate"></ToastEvents
</SfToast>
@code {
 SfToast MailToastObj;
  
 private async Task OnToastCreate() {
 RenderFragment content  = @<div> Syncfusion Toast</div>;
 await this.MailToastObj.Show(new ToastModel { ContentTemplate = @content });
 }
}- Property breaking changes are listed below,
| Deprecated | New Property | 
|---|---|
| TimeOut -> double | Timeout -> int | 
| Buttons -> List<ToastButtonModelProp> | ActionButtons -> List<ToastButton> | 
| Property | Previous Type | New Type | 
|---|---|---|
| Template | string | RenderFragment | 
| Effect | string | ToastEffect(Enum) | 
| Easing | string | ToastEasing(Enum) | 
| Duration | double | int | 
- 
ToastButtoncomponent contains the following properties
| ToastButtonModelProp(Deprecated) | ToastButton | 
|---|---|
| Clicked -> MouseEventArgs | OnClick    -> MouseEventArgs | 
| Model -> object | Content    -> string | 
| CssClass     -> string | |
| EnableRtl    -> bool | |
| IconCss      -> string | |
| IconPosition -> IconPosition | |
| IsPrimary    -> bool | |
| IsToggle     -> bool | 
- The following properties are deprecated.
    - EnableHtmlSanitizer
- ToastShowModel
- IToast
- ToastShowModel -> HtmlAttributes
- ButtonModelPropsModel
 
Events
- Added the Destroyed event and invoked it once the component is disposed.
- The following events and the event models are deprecated.
    - Event:
        - OnSanitizeHtml
 
- EventModels:
        - BeforeSanitizeHtmlArgs
- SanitizeSelectors
- SanitizeRemoveAttrs
- ButtonModelPropsModel
 
 
- Event:
        
- The following args are removed from the event arguments.
| Events | ArgsName | 
|---|---|
| ToastBeforeOpenArgs | Name | 
| ToastClickEventArgs | Name | 
| OriginalEvent | |
| ToastCloseArgs | Name | 
| ToastOpenArgs | Name | 
Tooltip
Bug Fixes
- 
    F156256- The issue with “The Tooltip is not opened on the target element using opendelay and closedelay” has been resolved.
- 
    ## 286677,## 289033,## 290978,## 288348,## 293035,F157004- The issue with “The tooltip is not hidden when hovering the mouse quickly over the target” has been resolved.
- 
    ## 293758- Resolved theA task was cancelledexception issue in the Tooltip component while page routing.
New Features
- We have provided a support to render the tooltip component with the target which is rendered outside the tooltip component.
Tree Grid
New Features
- 
## 259197- Provided support for Row Virtualization in Tree Grid.
- 
## 260425,## 273119,## 272759,## 275215,## 276529,## 292996- Provided support to drag and drop rows between TreeGrids.
- 
## F154231- Provided support for ExpandoObject data binding.
- Improved performance while loading large data and while performing grid actions such as paging, filtering, etc in WebAssembly.
Breaking Changes
- In ColumnMenuClickEventArgsclass, below properties types are changed.
| Property | Previous Type | Current Type | 
|---|---|---|
| Element | DOM  | ElementReference | 
| Event | Navigations.EventArgs | System.EventArgs | 
- In ContextMenuClickEventArgsclass, below properties types are changed.
| Property | Previous Type | Current Type | 
|---|---|---|
| Element | DOM  | ElementReference | 
| Items |  List<ContextMenuItem>| ` List | |
| ContextMenuObj |  SfContextMenu<Navigations.ContextMenuItem>|SfContextMenu<Navigations.MenuItem> | 
- In ContextMenuOpenEventArgsclass, below property type changed.
| Property | Previous Type | Current Type | 
|---|---|---|
| Element | DOM | ElementReference | 
Treemap
Breaking Changes
Enumeration
- The enumeration type TreeMapThemeis changed asTheme.
Properties
- The following properties are deprecated in the treemap component.
| Property Name | Comments | 
|---|---|
| UseGroupingSeparator | This property is removed. Use EnableGroupingSeparatorto achieve this functionality. | 
| ModelType | This property is removed. | 
| EnablePersistence | This property is deprecated. | 
| Locale | This property is deprecated. Hereafter, locale works based on the current culture set in the application. | 
- The type of the below properties is changed.
In SfTreeMap class,
| Property Name | Previous Type | Current Type | 
|---|---|---|
| TabIndex | double | int | 
| Query | string | Query | 
In other classes like TreeMapInitialDrillSettings, TreeMapLeafColorMapping and TreeMapLevelColorMapping,
| Property Name | Previous Type | Current Type | 
|---|---|---|
| TreeMapInitialDrillSettings.GroupIndex | double | int | 
| TreeMapLeafColorMapping.Color | object | string[] | 
| TreeMapLevelColorMapping.Color | object | string[] | 
Events
The data type of event argument is changed and listed below.
| Previous Type | Current Type | 
|---|---|
| IPrintEventArgs | PrintEventArgs | 
| IItemClickEventArgs | ItemClickEventArgs | 
| IDoubleClickEventArgs | DoubleClickEventArgs | 
| IDrillEndEventArgs | DrillEndEventArgs | 
| IDrillStartEventArgs | DrillStartEventArgs | 
| IItemHighlightEventArgs | ItemHighlightEventArgs | 
| IItemMoveEventArgs | ItemMoveEventArgs | 
| IItemRenderingEventArgs | ItemRenderingEventArgs | 
| IItemSelectedEventArgs | ItemSelectedEventArgs | 
| ILegendItemRenderingEventArgs | LegendItemRenderingEventArgs | 
| ILegendRenderingEventArgs | LegendRenderingEventArgs | 
| ILoadEventArgs | LoadEventArgs | 
| ILoadedEventArgs | LoadedEventArgs | 
| IResizeEventArgs | ResizeEventArgs | 
| IMouseMoveEventArgs | MouseMoveEventArgs | 
| ITreeMapTooltipArgs | TreeMapTooltipArgs | 
Methods
- We have changed the arguments of the Printmethod.
| Arguments | Comments | 
|---|---|
| id | This argument is removed. | 
- We have changed the arguments type and return type of the Exportmethod.
| Arguments | Previous Type | Current Type | 
|---|---|---|
| orientation | object | PdfPageOrientation | 
Previous
<SfTreeMap @ref="treeMap" AllowPdfExport=true AllowImageExport=true>
    ...
</SfTreeMap>
@code {
    SfTreeMap<GDPReport> treeMap;
    private async Task Export()
    {
        await treeMap.Export(ExportType.PDF, "FileName", "Portrait");
    }
}Now
<SfTreeMap @ref="treeMap" AllowPdfExport=true AllowImageExport=true>
    ...
</SfTreeMap>
@code {
    SfTreeMap<GDPReport> treeMap;
    private async Task Export()
    {
        await treeMap.Export(ExportType.PDF, "FileName", Syncfusion.PdfExport.PdfPageOrientation.Portrait);
    }
}TreeView
Breaking Changes
- You need to set the TValuewith a named model for theTreeViewTemplatestag in the TreeView component.
- The EnableHtmlSanitizerandHtmlAttributesare deprecated and will no longer be used.
- 
DragAreaproperty renamed asDropArea.
- Must declare the TreeViewFieldSettings property values in class model.
Previous
 <SfTreeView TValue="TreeData">
    <TreeViewFieldsSettings Id="Id" Text="Name" ParentID="Pid" HasChildren="HasChild" DataSource="@LocalData"></TreeViewFieldsSettings>
    <TreeViewTemplates>
        <NodeTemplate>
            <div>
                <div class="treeviewdiv">
                    <div class="nodetext">
                        <span class="treeName">@((context as TreeData).Name)</span>
                    </div>
                    @{
                        @if (((context as TreeData).Count) != 0)
                        {
                            <div class="nodebadge">
                                <span class="treeCount e-badge e-badge-primary">@((context as TreeData).Count)</span>
                            </div>
                        }
                    }
                </div>
            </div>
        </NodeTemplate>
    </TreeViewTemplates>
</SfTreeView>
@code {
    List<TreeData> LocalData = new List<TreeData>();
    protected override void OnInitialized()
    {
        base.OnInitialized();
        LocalData.Add(new TreeData
        {
            Id = 1,
            Name = "Favorites",
            HasChild = true,
        });
        LocalData.Add(new TreeData
        {
            Id = 2,
            Pid = 1,
            Name = "Sales Reports",
            Count = 4
        });
        LocalData.Add(new TreeData
        {
            Id = 5,
            HasChild = true,
            Name = "My Folder"
        });
    }
    class TreeData
    {
        public int Id { get; set; }
        public int? Pid { get; set; }
        public string Name { get; set; }
        public bool HasChild { get; set; }
        public int Count { get; set; }
    }
}Now
 <SfTreeView TValue="TreeData">
    <TreeViewFieldsSettings Id="Id" Text="Name" ParentID="Pid" HasChildren="HasChild" DataSource="@LocalData"></TreeViewFieldsSettings>
    <TreeViewTemplates TValue="TreeData">
        <NodeTemplate>
            <div>
                <div class="treeviewdiv">
                    <div class="nodetext">
                        <span class="treeName">@((context as TreeData).Name)</span>
                    </div>
                    @{
                        @if (((context as TreeData).Count) != 0)
                        {
                            <div class="nodebadge">
                                <span class="treeCount e-badge e-badge-primary">@((context as TreeData).Count)</span>
                            </div>
                        }
                    }
                </div>
            </div>
        </NodeTemplate>
    </TreeViewTemplates>
</SfTreeView>
@code {
    List<TreeData> LocalData = new List<TreeData>();
    protected override void OnInitialized()
    {
        base.OnInitialized();
        LocalData.Add(new TreeData
        {
            Id = "1",
            Name = "Favorites",
            HasChild = true,
        });
        LocalData.Add(new TreeData
        {
            Id = "2",
            Pid = "1",
            Name = "Sales Reports",
            Count = 4
        });
        LocalData.Add(new TreeData
        {
            Id = "5",
            HasChild = true,
            Name = "My Folder"
        });
    }
    class TreeData
    {
        public string Id { get; set; }
        public string Pid { get; set; }
        public string Name { get; set; }
        public bool HasChild { get; set; }
        public int Count { get; set; }
    }
}- ExpandOn property enum value ExpandOnSettinghas been renamed toExpandAction.
| Property | Default Value (Before v18.3.0.35) | Default Value (From v18.3.0.35) | 
|---|---|---|
| ExpandOn | Auto | DoubleClick | 
Here, some deprecated properties and their equivalent alternatives listed below.
| Property (Deprecated) | Alternative (From v18.3.0.35) | 
|---|---|
| ExpandOnSetting.DblClick | Use the ExpandAction.DoubleClickto acheive the same behavior. | 
| Fields | Use the TreeViewFieldSettingtag to assign the values. | 
| Animation | Use the TreeViewNodeAnimationSettingtag to assign the values. | 
| TreeViewTemplates | Use the TreeViewTemplatestag to assign the values. | 
| TreeviewNodeAnimationSettings.Expand | Use the TreeViewAnimationExpandtag to assing the values. | 
| TreeviewNodeAnimationSettings.Collapse | Use the TreeViewAnimationCollapsetag to assing the values. | 
- The methods AddNodes,RemoveNodes,BeginEdit,GetAllCheckedNodes,UpdateNode,Refresh,GetRootElement,MoveNodesare deprecated and will no longer be used.
| Method Name | Previous Param (Before v18.3.0.35) | Current Param (From v18.3.0.35) | 
|---|---|---|
| EnsureVisible | object nodeID | string nodeID | 
| GetNode | object nodeID | string nodeID | 
| GetTreeData | object nodeID | string? nodeID | 
| RefreshNode | object target, object newData | string target, List | 
| DisableNodes | object nodesID | string[] nodesID | 
| EnableNodes | object nodesID | string[] nodesID | 
| CheckAll | object nodes | - | 
| UncheckAll | object nodes | - | 
| CollapseAll | object nodes, Nullable | - | 
| ExpandAll | object nodes, Nullable | - | 
- Event name OnDrawNoderenamed asOnNodeRenderand its type changes listed below.
| Previous Event Type (Before v18.3.0.35) | Current Event Type (From v18.3.0.35) | 
|---|---|
| DrawNodeEventArgs<TValue> | NodeRenderEventArgs<TValue> | 
- The DOM Nodeparameter ofOnKeyPress,NodeChecked,NodeChecking,OnNodeDragStart,OnNodeDragged,NodeDroppedevent argument is deprecated.
Note: Use the
NodeDataargument as replacement of previousDOM Nodeto get the required node details.
| Event Name | Deprecated Argument (From v18.3.0.35) | New Argument (From v18.3.0.35) | 
|---|---|---|
| OnActionFailure | object Error | Exception Error string Name | 
| DataBound | - | string Name | 
| DataSourceChanged | - | string Name | 
| OnNodeRender | DOM Node | ElementReference Node string Name | 
| OnKeyPress | DOM Node | NodeData NodeData string Name | 
| NodeChecking | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeChecked | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeClicked | DOM Node | NodeData NodeData double Left double Top string Name | 
| NodeCollapsing | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeCollapsed | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| OnNodeDragStart | DOM ClonedNode DOM DraggedNode DOM DraggedParentNode DOM DropTarget DOM DroppedNode DOM Target | double Left double Top string Name | 
| OnNodeDragStop | DOM ClonedNode DOM DraggedNode DOM DraggedParentNode DOM DropTarget DOM DroppedNode DOM Target | double Left double Top string Name | 
| OnNodeDragged | DOM ClonedNode DOM DraggedNode DOM DraggedParentNode DOM DropTarget DOM DroppedNode DOM Target | double Left double Top string Name | 
| NodeDropped | DOM ClonedNode DOM DraggedNode DOM DraggedParentNode DOM DropTarget DOM DroppedNode DOM Target | double Left double Top string Name | 
| NodeEditing | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeEdited | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeExpanding | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeExpanded | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeSelecting | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
| NodeSelected | DOM Node NodeData Data | ElementReference Node NodeData NodeData string Name | 
Bug Fixes
- 
    ## 293176- The issue with the “TreeView node is not selected on the first click” has been resolved.
- 
    F156694- Improved the performance of the TreeView component while expanding all the nodes.
- 
    ## 279509- Resolved the “System.IO.InvalidDataException” in the TreeView component while adding large number of nodes.
Visual Studio Extensions
Bug Fixes
- 
## 289415– The delete operation has been added for the grid control in Scaffolding.
New Features
- Blazor Project Template: Provided the user interface support for the project templates to create Blazor apps using the Syncfusion Blazor components.
- Upgraded the .NET Core 5.0.0-rc.1 Project Template.