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
}
Here’s a quick demo of the feature in action:

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;
}
}
Watch how the feature works in action:

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
- Boosting Performance of Blazor Gantt Chart Using Virtualization
- Manage Construction Project Timelines with Task Dependencies in Blazor Gantt Chart
- Blazor Gantt Chart Update: Timezone Scheduling, WBS Codes & Excel-Style Filtering
- Blazor Scheduler vs. Gantt Chart: Which is Right for Your Project?
This article was originally published at Syncfusion.com.
Top comments (0)