DEV Community

Cover image for What’s New in Blazor Gantt Chart: 2025 Volume 4
Calvince Moth for Syncfusion, Inc.

Posted on • Originally published at syncfusion.com on

What’s New in Blazor Gantt Chart: 2025 Volume 4

TL;DR: The 2025 Volume 4 release for Blazor Gantt Chart introduces key enhancements for developers: undo redo support for seamless editing, column-level validation to ensure data accuracy, and significant improvements in WebAssembly rendering speed for large datasets. These updates make building project management applications faster, more reliable, and developer-friendly.

The latest updates to the Syncfusion® Blazor Gantt Chart are here with our 2025 Volume 4 release! This version introduces powerful features like undo/redo support, column-level validation, and faster initial load performance.

Let’s explore what’s new!

Undo and Redo support

Managing project updates just got easier. The Blazor Gantt Chart now includes a full undo and redo history, so you can quickly reverse changes or restore previous states without hassle. Developers can configure which actions are tracked, set the maximum history depth, and use keyboard shortcuts for instant navigation.

This includes interactions like expanding or collapsing tasks, resizing the splitter, and performing CRUD operations (adding, editing, or deleting records). With quick access to earlier states, managing project updates becomes both efficient and forgiving.

Here are the key highlights:

  • Customizable action tracking: Choose which interactions to track, such as task edits, scheduling changes, or layout adjustments.
  • History depth control: Define how many steps to store for your project needs.
  • Quick rollback and reapply: Instantly undo task updates or redo reverted changes.
  • Integrated controls: Access undo/redo via toolbar buttons or shortcuts.

Here are the key benefits:

  • Confidence in edits: Make changes without fear; rollback is just a click away.
  • Data safety: Reduce accidental loss during rapid planning.
  • Collaboration-friendly: Experiment freely with easy recovery options .
  • Precision planning: Perfect complex dependencies and resource allocations .
  • Rapid correction: Fix mistakes quickly to keep projects on track.
@using Syncfusion.Blazor.Gantt

<SfGantt ID="GanttChart" 
         DataSource="@TaskCollection" 
         Height="500px" 
         Width="100%" 
         EnableUndoRedo="true" 
         UndoRedoActions="@undoRedoActions"
         Toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Undo", "Redo", "ZoomIn", "ZoomOut", "ZoomToFit", "PrevTimeSpan", "NextTimeSpan" })">

    <GanttTaskFields Id="TaskID" 
                     Name="TaskName" 
                     StartDate="StartDate" 
                     EndDate="EndDate" 
                     Duration="Duration" 
                     Progress="Progress"
                     Dependency="Predecessor" 
                     ParentID="ParentID">
    </GanttTaskFields>

    <GanttEditSettings AllowAdding="true" 
                       AllowDeleting="true" 
                       AllowEditing="true" 
                       AllowTaskbarEditing="true">
    </GanttEditSettings>

    <GanttColumns>
        <GanttColumn Field="TaskID" HeaderText="ID"></GanttColumn>
        <GanttColumn Field="TaskName" HeaderText="Task Name" Width="250"></GanttColumn>
        <!-- Add more columns here if needed -->
    </GanttColumns>
</SfGantt>

@code {
    public List<TaskModel> TaskCollection { get; set; } = new();

    private List<GanttUndoRedoAction> undoRedoActions = new List<GanttUndoRedoAction> {
        GanttUndoRedoAction.Sort, 
        GanttUndoRedoAction.Add, 
        GanttUndoRedoAction.ColumnReorder, 
        GanttUndoRedoAction.TaskbarEdit,
        GanttUndoRedoAction.ColumnState, 
        GanttUndoRedoAction.Edit, 
        GanttUndoRedoAction.Filter, 
        GanttUndoRedoAction.NextTimeSpan, 
        GanttUndoRedoAction.PreviousTimeSpan, 
        GanttUndoRedoAction.Search,
        GanttUndoRedoAction.Delete,
        GanttUndoRedoAction.ZoomIn, 
        GanttUndoRedoAction.ZoomOut, 
        GanttUndoRedoAction.ZoomToFit,
        GanttUndoRedoAction.Collapse,
        GanttUndoRedoAction.Expand,
        GanttUndoRedoAction.SplitterResize
    };

    // Additional code logic if needed
}
Enter fullscreen mode Exit fullscreen mode

Here’s a quick demo of the feature in action:

<alt-text>


Undo and Redo support in Blazor Gantt Chart

Note: For more details, refer to the documentation and try our online demo.

Column validation for accurate data entry

The Blazor Gantt Chart now supports column validation, ensuring that every input meets your rules before being saved. Use built-in annotations, custom logic, or validator components for complete flexibility. The Gantt Chart validates data across cell editing, dialog forms, and edit templates.

The Gantt chart supports the following annotations:

  • Required
  • Range
  • EmailAddress
  • MaxLength / MinLength
  • Number
  • RegexPattern
  • Compare

Here are the key highlights:

  • Annotation support: Leverage built-in validation attributes for rapid configuration.
  • Custom annotations: Define tailored attributes to satisfy project-specific rules.
  • Custom validator integration: Plug in dedicated validation components for advanced scenarios.
  • Unified editing experience: Apply validation seamlessly across all editing modes.

Here are the key benefits:

  • Data consistency: Enforces precise criteria to prevent incomplete or incorrect entries.
  • Flexible rule definition: Balances built-in annotations with fully custom validation logic.
  • Streamlined editing: Provides immediate feedback during cell edits and dialog submissions.
  • Adaptable workflows: Supports validation across standard and tailored field configurations.
  • Improved decision-making: Ensures schedules and resource plans rely on accurate, validated information.
@using Syncfusion.Blazor.Gantt
@using System.ComponentModel.DataAnnotations

<SfGantt DataSource="@TaskCollection">

    <GanttTaskFields Id="TaskID" 
                     Name="ActivityName" 
                     StartDate="StartDate" 
                     EndDate="EndDate" 
                     Duration="Duration" 
                     Progress="Progress"  
                     ParentID="ParentID"></GanttTaskFields>

    <GanttEditSettings AllowAdding="true" 
                       AllowDeleting="true" 
                       AllowEditing="true"></GanttEditSettings>

</SfGantt>

@code {
    private List<TaskInfoModel> TaskCollection { get; set; }
    protected override void OnInitialized()
    {
        this.TaskCollection = EditingData().ToList();
    }
    public class TaskInfoModel
    {
        public int TaskID { get; set; }
        [Required(ErrorMessage = "ActivityName is required")]
        [StringLength(50, MinimumLength = 5, ErrorMessage = "ActivityName must be between 5 and 50 characters")]
        public string? ActivityName { get; set; }
        public DateTime? StartDate { get; set; }
        public DateTime? EndDate { get; set; }
        public int? Duration { get; set; }
        [Range(0, 100, ErrorMessage = "Progress must be between 0 and 100")]
        public int Progress { get; set; }
        public int? ParentID { get; set; }
    }
    public static List<TaskInfoModel> EditingData()
    {
        List<TaskInfoModel> Tasks = new List<TaskInfoModel>() {
            new TaskInfoModel() { TaskID = 1, ActivityName = "Product concept", StartDate = new DateTime(2021, 04, 02), Duration = 5, Progress = 60, ParentID = null },

           ....
        };
        return Tasks;
    }
}
Enter fullscreen mode Exit fullscreen mode

Watch how the feature works in action:

<alt-text>


Column validation support in Blazor Gantt Chart

Note: For more details, refer to the documentation and try our online demo.

Performance boost: Faster initial rendering

We’ve optimized the Blazor Gantt Chart for WebAssembly, cutting initial load times by up to 23% without sacrificing rendering quality, even with large datasets.

The table below shows the updated benchmarks for this release, highlighting WebAssembly performance improvements for 2.5k and 1k record configurations.

Scenario description Volume 3 (seconds) Volume 4 (seconds) Improvement
2.5k records (5 root-level parent × 5 children)
Parent with child tasks 48.00 s 37.35 s 22% faster
Parent with child tasks and predecessors 53.00 s 41.56 s 22% faster
1k records (5 root-level parent × 5 children)
Parent with child tasks 14.00 s 10.81 s 23% faster
Parent with child tasks and predecessors 16.30 s 12.76 s 22% faster

Conclusion

Thank you for reading! In this blog, we explored the latest enhancements introduced in the Syncfusion Blazor Gantt Chart component for the 2025 Volume 4 release. These updates, including undo and redo support, column validation, and faster initial rendering, help create more efficient, scalable, and professional project management applications.

Check out our Release Notes and What’s New pages to see the other updates in this release, and leave your feedback in the comments section below.

If you’re a Syncfusion user, you can download the setup from the license and downloads page. Otherwise, you can download a free 30-day trial.

You can also contact us through our support forum, support portal, or feedback portal for queries. We are always happy to assist you!

Related Blogs

This article was originally published at Syncfusion.com.

Top comments (0)