Essential Studio for Blazor - v35.1.37 Release Notes

Common

Features

  • Syncfusion Blazor components are now compatible with the latest .NET 11 RC 1 Support.

  • The Sunburst Chart component has been added newly in Syncfusion Blazor UI Library.

  • The Inline AI Assist component has been developed to meet industry standards and are now marked production-ready.

Accumulation Chart

Features

  • Nested doughnut: Added support for multiple pie series, enabling nested doughnut charts with concentric rings. This enhancement allows you to represent hierarchical or grouped data more effectively and compare multiple datasets within a single visualization. Explore demo

AI AssistView

Features

  • Generative UI: Now the AI AssistView supports Generative UI blocks, allowing custom UI elements such as charts, cards, and tool-based components to be rendered directly within AI responses. These blocks can be defined through the Blocks property by setting the block type as Tool, which enables rich and interactive AI experiences.

    Explore the demo here

  • Thinking capabilities: Now the AI AssistView supports reasoning blocks which enables visualization of AI workflow stages within responses. These are defined using the Blocks property by setting the block type as Thinking and stages property to add multiple stages, supporting structured stage configuration and dynamic status updates.

    Explore the demo here

  • Response animation template: Now the AI AssistView supports custom response animation templates, enabling users to replace the default skeleton loader with their own animation UI. The custom template is displayed while the AI response is being generated and is automatically replaced once the response content is rendered.

    Explore the demo here

  • Footer toolbar left item align: Now the AI AssistView supports aligning footer toolbar items to the left side of the footer toolbar in the Inline mode, allowing users to customize the placement of built-in and custom toolbar actions for improved layout flexibility and user experience.

    Explore the demo here

  • Now the AI AssistView provides a new AttachmentRemoving event, allowing users to intercept attachment removal actions and access details of the file being removed. This enables custom validation, state management, and attachment handling before the removal is completed.

Calendar

Features

  • Provided support for the TimeZoneOffset parameter, enabling the component to determine and highlight the client’s local current date using UTC-based calculations instead of DateTime.Now. The parameter accepts nullable TimeSpan values and supports positive, negative, and fractional UTC offsets (for example, UTC+5:30). When the parameter is not specified or set to null, the component retains its existing DateTime.Now-based behavior. For more information, refer to the user guide here.

Code Example:

<SfCalendar TValue="DateTime?"
            TimeZoneOffset="@ClientOffset">
</SfCalendar>

@code {
    private TimeSpan ClientOffset = new TimeSpan(5, 30, 0);
}

The Client Timezone-Aware Date Highlighting feature is supported in the following components:

  • Calendar
  • DatePicker
  • DateRangePicker
  • DateTimePicker

Context Menu

Breaking Changes

The Blazor Context Menu now requires clientX and clientY coordinates when invoking the OpenAsync method to ensure proper collision handling and viewport-aware positioning.

Previously, the parameterless OpenAsync() call did not have any built-in mechanism to determine the exact DOM coordinates required for collision calculations, which caused the popup submenu to overflow outside the viewport when opened near screen edges. With this update, the clientX and clientY values are treated as mandatory parameters so the Context Menu can automatically adjust its direction and stay fully visible within the viewport.

Data Grid

Features

  • FB64437 - Provided support for advanced Find and Highlight functionality with match navigation, active match tracking, match count display, and programmatic APIs for an enhanced search experience. Explore the demo here.

Code Example:

<SfGrid TValue="Order" DataSource="@Orders" AllowPaging="true" AllowFiltering="true" Toolbar="@(new List<string> { "Find" })">
  <GridFindSettings PlaceholderText="Find items" ></GridFindSettings>
    <GridColumns>
        <GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" Width="120" />
        <GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer ID" Width="150" />
        <GridColumn Field="@nameof(Order.Freight)" HeaderText="Freight" Format="C2" Width="120" AllowSearchHighlight="false" />
    </GridColumns>
</SfGrid>
  • FB32154, FB33110 - Provided support for Undo and Redo operations in Batch Edit mode for edit, add, delete, paste, and autofill actions. Explore the demo here.

Code Example:

<SfGrid TValue="Order" DataSource="@Orders" Toolbar="@(new List<string> { "Add", "Delete", "Update", "Cancel", "Undo", "Redo"  })">
    <GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Batch" EnableUndoRedo="true"></GridEditSettings>
    <GridColumns>
        <GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" IsPrimaryKey="true" Width="120" />
        <GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer ID" Width="150" />
        <GridColumn Field="@nameof(Order.Freight)" HeaderText="Freight" Format="C2" Width="120" />
    </GridColumns>
</SfGrid>
  • #I843261, #I832261, FB73741 - Provided support for Excel-like Cell Editing, enabling direct value editing within cells while preserving keyboard navigation, validation, event handling, and data binding. Explore the demo here.

Code Example:

<SfGrid TValue="Order" DataSource="@Orders"  Toolbar="@(new List<string>() { "Add", "Delete", "Update", "Cancel" })">
    <GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Cell" AllowEditOnKeyPress="true" EnterKeyDirection="EnterKeyDirection.NextRow" />
    <GridSelectionSettings Type="Syncfusion.Blazor.Grids.SelectionType.Single" Mode="Syncfusion.Blazor.Grids.SelectionMode.Cell"/>
    <GridColumns>
        <GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" IsPrimaryKey="true" Width="120" />
        <GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer ID" Width="150" />
        <GridColumn Field="@nameof(Order.Freight)" HeaderText="Freight" Format="C2" Width="120" />
    </GridColumns>
</SfGrid>
  • Provided support for event-driven data binding through the OnDataLoad event, enabling custom data operations on DataGrid requests without requiring SfDataManager or Custom Adaptors. Explore the demo here.

Code Example:

<SfGrid  @ref="Grid" DataSource="@Orders">
    <GridEvents OnDataLoad="HandleDataLoad" TValue="Order"></GridEvents>
</SfGrid>

@code {
    SfGrid<Order>? Grid;
    public List<Order> Orders { get; set; }
    private async Task HandleDataLoad(GridLoadEventArgs<Order> args)
    {
        args.Result = Orders;
    }
}
  • #I830533, #I830849, FB73282 - Provided support for Printing and Printed events to customize print operations with custom data sources, header and footer templates, and full print lifecycle handling. Explore the demo here.

  • #I818077, FB73035 - Provided support for Excel-style clipboard paste operations, including Smart Paste and Matrix Paste.

  • #I577715, I580635 - Provided the AfterAutoFillCell event, which is triggered after each cell is updated through AutoFill and exposes the updated cell value, row data, and column information.

  • I791199, FB71617 - Provided support for Page Up and Page Down keyboard navigation in Row Virtualization for faster scrolling across large datasets.

Date Picker

Features

  • #I847409 - Provided support for the AppendTo property, allowing the popup to be rendered within a user-specified container element instead of the default document.body. The property accepts a CSS selector string and supports rendering the popup inside the matched element. If the property is not specified, is empty, or does not match any element, the popup is rendered in document.body, preserving the existing behavior. For more information, refer to the user guide here.

Code Example:

<div class="control-box" id="datepicker_container">
    <label class="control-label">Select a date:</label>
    <SfDatePicker TValue="DateTime?" AppendTo="#datepicker_container"
                  Placeholder="Choose a date..." FullScreen="true"
                  ShowClearButton="true"></SfDatePicker>
</div>

The AppendTo property is also available in the following components:

  • Date Range Picker
  • Date Time Picker
  • Time Picker
  • Color Picker
  • MultiColumn ComboBox
  • AutoComplete
  • ComboBox
  • DropDown List
  • Mention
  • MultiSelect
  • InPlace Editor
  • Menu
  • Context Menu
  • DropDown Tree
  • DropDown Button
  • Split Button

Bug Fixes

  • #I872091 - Resolved an issue where opening the drop-down popup during certain rendering conditions could disconnect the active user session.

Bug Fixes

  • #I870487 - The DebounceDelay property previously applied only to filtering operations. It now also supports incremental search operations, enabling users to control the delay before search actions are triggered while typing. This helps reduce the frequency of search operations and provides better performance tuning for user input scenarios.

Gantt Chart

Features

  • Added support for defining a fixed visible timeline range using the ViewStartDate and ViewEndDate properties in GanttTimelineSettings. This feature allows users to focus on a specific date range while retaining the complete project schedule and timeline data. It provides greater control over timeline presentation without affecting underlying scheduling calculations. Explore the Timeline view dates support in the demo.

    Code Example:

      @using Syncfusion.Blazor.Gantt
    
      <SfGantt DataSource="@TaskCollection">
      <GanttTimelineSettings 
      ViewStartDate="@viewStartDate" 
      ViewEndDate="@viewEndDate">
      </GanttTimelineSettings>
      </SfGantt>
      @code{
          public DateTime viewStartDate { get; set; } = new DateTime(2026, 04, 01);
          public DateTime viewEndDate { get; set; } = new DateTime(2026, 04, 09);
      }
    
  • I849353, FB74596 - Added support for exporting PDF, Excel, and CSV documents directly as a MemoryStream. This enhancement enables seamless integration with databases, cloud storage services, email workflows, web APIs, and external document-processing systems. This enhancement extends the existing export functionality by providing in-memory access to generated documents while preserving the current download-based export experience and maintaining consistency across all supported export formats.

    Code Example:

      @using Syncfusion.Blazor.Gantt
        
      <SfGantt @ref="GanttInstance"
       DataSource="@TaskCollection"
       Height="450px"
       AllowPdfExport="true"
       AllowExcelExport="true">
       </SfGantt>
       @code 
       {
          private SfGantt<TaskData>? GanttInstance;
          private async Task ExportPdfStream()
          {
              if (GanttInstance == null)
              {
                  return;
              }
              try
              {
                  MemoryStream stream = await GanttInstance.ExportToPdfStreamAsync(null, true);
              }
              catch (Exception ex)
              {
                  Console.WriteLine(ex.Message);
              }
          }
          private async Task ExportExcelStream()
          {
              if (GanttInstance == null)
              {
                  return;
              }
    
              try
              {
                  MemoryStream stream = await GanttInstance.ExportToExcelStreamAsync();
              }
              catch (Exception ex)
              {
                  Console.WriteLine(ex.Message);
              }
          }
          private async Task ExportCsvStream()
          {
              if (GanttInstance == null)
              {
                  return;
              }
              try
              {
                  MemoryStream stream = await GanttInstance.ExportToCsvStreamAsync();
              }
              catch (Exception ex)
              {
                  Console.WriteLine(ex.Message);
              }
          }
      }
    
  • I858349, FB60867 - Added support for task constraints through the ConstraintType and ConstraintDate properties of GanttTaskFields. This feature enables greater control over task scheduling by allowing tasks to follow specific constraint rules. Constraints are respected during editing, dependency updates, drag-and-drop operations, task resizing, and other scheduling actions. Explore the task constraints support in the demo.

    Code Example:

      @using Syncfusion.Blazor.Gantt
    
      <SfGantt DataSource="@TaskCollection">
          <GanttTaskFields 
          Id="TaskId" 
          Name="TaskName" 
          StartDate="StartDate" 
          EndDate="EndDate" 
          Duration="Duration" 
          Progress="Progress" 
          Dependency="Predecessor"
          ParentID="ParentId" 
          ConstraintType="ConstraintType" 
          ConstraintDate="ConstraintDate">
          </GanttTaskFields>
      </SfGantt>
    
  • I788358 - Added support for excluding weekends and other non-working days from the timeline view using the ShowWeekend property in GanttTimelineSettings. This enhancement helps users focus on working periods while maintaining accurate task scheduling, timeline navigation, zooming behavior, and export output. Explore the ShowWeekend support in the demo.

    Code Example:

      @using Syncfusion.Blazor.Gantt
    
      <SfGantt DataSource="@TaskCollection">
      <GanttTimelineSettings 
      ShowWeekend="@showWeekend">
      </GanttTimelineSettings>
      </SfGantt>
      @code{
          private bool showWeekend = true;
      }
    
  • FB69714 - Added support for displaying multiple event markers on the same date through the Top property of GanttEventMarker. This enhancement allows event labels to be positioned at different vertical offsets, improving visibility and preventing label overlap when multiple events occur on the same timeline date. Explore the multiple event markers support in the demo.

    Code Example:

      @using Syncfusion.Blazor.Gantt
    
      <SfGantt DataSource="@TaskCollection">
      <GanttEventMarkers>
               <GanttEventMarker Day="new DateTime(2022, 04, 11)" Label="Project approval" Top="100px">
               </GanttEventMarker>
                <GanttEventMarker Day="new DateTime(2022, 04, 11)" Label="Project kick-off" Top="150px">
                </GanttEventMarker>           
      </GanttEventMarkers>
      </SfGantt>
    

Inline AI Assist

Features

  • Speech to Text: Now the Inline AI Assist supports built-in Speech-to-Text functionality, allowing users to input prompts and messages using voice recognition. Speech recognition settings can be configured using the InlineAIAssistSpeechToText tag directive.

    Explore the demo here

Schedule

Features

  • #FB71825 - Provided support to select the resources programmatically in the scheduler using the SelectedResource property. This property is only applicable when EnableAdaptiveUI is enabled.
  • #FB58931 - Enhanced the Scheduler component to prevent unnecessary backend API requests during dynamic property changes, improving performance and reducing server load.
  • Provided support for the event buffer feature to display configured BufferBefore and BufferAfter time reservations around appointments. The feature is supported on Day, Week, WorkWeek, TimelineDay, TimelineWeek, and TimelineWorkWeek views when EnableBuffer is enabled with TimeScale.

Sunburst Chart preview

Features

The Sunburst Chart component visualizes multilevel hierarchical data as concentric rings, where the arc length of each segment encodes its value. Users can click a slice to drill down into its underlying levels, and built-in highlight and selection interactions make individual slices easy to emphasize.

Key features

  • Multilevel visualization: Hierarchical data is rendered as concentric rings, with arc length encoding each value.
  • Drill down: Click a slice to drill down into its underlying levels.
  • Highlight and selection: Built-in highlight and selection support.
  • Theming: Data labels, multilevel tooltips, title, subtitle, legend, and borders fully support themes.
  • Smart tooltip fill: The tooltip fill automatically follows the active theme, with a dark fallback when no theme is applied.

Explore demo

Visual Studio Code Extensions

Features

  • Modified the UI to split the controls based on category-wise, such as UI Component Suite, Grid SDK, Chart SDK, Scheduler SDK, Gantt SDK, Rich Text Editor SDK, Diagram SDK, and File Manager SDK in Template Studio Wizard.

Visual Studio Extensions

Features

  • Modified the UI to split the controls based on category-wise, such as UI Component Suite, Grid SDK, Chart SDK, Scheduler SDK, Gantt SDK, Rich Text Editor SDK, Diagram SDK, and File Manager SDK in Template Studio Wizard and Code Generator Window.

Test Results

Component Name Test Cases Passed Failed Remarks
3DChart 376 376 0 All Passed
Accordion 285 285 0 All Passed
AiAssistView 1008 1008 0 All Passed
Appbar 116 116 0 All Passed
Autocomplete 502 502 0 All Passed
BarcodeGenerator 533 533 0 All Passed
Breadcrumb 153 153 0 All Passed
Bulletchart 255 255 0 All Passed
Button 321 321 0 All Passed
Calendar 498 498 0 All Passed
Carousel 177 177 0 All Passed
Charts 7716 7716 0 All Passed
ChartWizard 482 482 0 All Passed
ChatUI 357 357 0 All Passed
CheckBox 115 115 0 All Passed
Chips 250 250 0 All Passed
CircularGauge 1026 1026 0 All Passed
ColorPicker 287 287 0 All Passed
ComboBox 706 706 0 All Passed
ContextMenu 171 171 0 All Passed
DashboardLayout 298 298 0 All Passed
DataForm 681 681 0 All Passed
DataGrid 11841 11841 0 All Passed
DatePicker 1082 1082 0 All Passed
DateRangePicker 720 720 0 All Passed
DateTimePicker 514 514 0 All Passed
Diagram 17536 17536 0 All Passed
Dialog 667 667 0 All Passed
DropdownButton 138 138 0 All Passed
DropdownList 1227 1227 0 All Passed
Dropdowntree 329 329 0 All Passed
FileManager 3729 3729 0 All Passed
FileUpload 895 895 0 All Passed
FloatingActionButton 171 171 0 All Passed
Gantt 11082 11082 0 All Passed
HeatMap 422 422 0 All Passed
ImageEditor 3966 3966 0 All Passed
InPlaceEditor 988 988 0 All Passed
InputMask 172 172 0 All Passed
Kanban 608 608 0 All Passed
LinearGauge 802 802 0 All Passed
ListBox 315 315 0 All Passed
ListView 439 439 0 All Passed
Maps 1791 1791 0 All Passed
Mention 186 186 0 All Passed
Menu 484 484 0 All Passed
Message 216 216 0 All Passed
MultiselectDropdown 1529 1529 0 All Passed
NumericTextbox 685 685 0 All Passed
OtpInput 200 200 0 All Passed
PivotTable 1846 1846 0 All Passed
ProgressBar 200 200 0 All Passed
progressbutton 158 158 0 All Passed
QueryBuilder 885 885 0 All Passed
RangeNavigator 227 227 0 All Passed
Rating 152 152 0 All Passed
Ribbon 558 558 0 All Passed
RichTextEditor 4273 4273 0 All Passed
Scheduler 6892 6892 0 All Passed
Sidebar 160 160 0 All Passed
Slider 300 300 0 All Passed
SmithChart 263 263 0 All Passed
Sparkline 229 229 0 All Passed
SpeedDial 423 423 0 All Passed
Spinner 126 126 0 All Passed
Splitter 202 202 0 All Passed
Stepper 368 368 0 All Passed
StockChart 377 377 0 All Passed
Tabs 1118 1118 0 All Passed
TextArea 166 166 0 All Passed
Textbox 1105 1105 0 All Passed
Timeline 191 191 0 All Passed
TimePicker 499 499 0 All Passed
Toast 620 620 0 All Passed
Toolbar 627 627 0 All Passed
Tooltip 135 135 0 All Passed
TreeGrid 8169 8169 0 All Passed
TreeMap 776 776 0 All Passed
TreeView 1605 1605 0 All Passed