Syncfusion.AspNetCore.Gantt
34.2.6
Prefix Reserved
dotnet add package Syncfusion.AspNetCore.Gantt --version 34.2.6
NuGet\Install-Package Syncfusion.AspNetCore.Gantt -Version 34.2.6
<PackageReference Include="Syncfusion.AspNetCore.Gantt" Version="34.2.6" />
<PackageVersion Include="Syncfusion.AspNetCore.Gantt" Version="34.2.6" />
<PackageReference Include="Syncfusion.AspNetCore.Gantt" />
paket add Syncfusion.AspNetCore.Gantt --version 34.2.6
#r "nuget: Syncfusion.AspNetCore.Gantt, 34.2.6"
#:package Syncfusion.AspNetCore.Gantt@34.2.6
#addin nuget:?package=Syncfusion.AspNetCore.Gantt&version=34.2.6
#tool nuget:?package=Syncfusion.AspNetCore.Gantt&version=34.2.6
Syncfusion® ASP.NET Core Gantt Chart Component
The ASP.NET Core Gantt control is used to visualize and manage project schedules by displaying tasks, durations, dependencies, and progress in a timeline-based view, ideal for project management applications.
Using this package with an AI coding agent:
Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:
Set up this project for Syncfusion before generating code. Fetch and follow the official instructions at https://ai.syncfusion.com/agent-setup/prompt.md, then report the detected platform, installed skill pack, MCP status, and any required licensing action.
The setup detects your project's platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.
Platform reference: https://ai.syncfusion.com/aspnet-core/llms.txt
Key Features
- Timeline Task Visualization: Displays tasks as bars along a timeline with configurable time ranges and zoom levels
- Task Dependencies: Supports all 4 dependency types (Finish-to-Start, Start-to-Start, Finish-to-Finish, Start-to-Finish)
- Editing Capabilities: Inline editing, dialog editing, and taskbar drag-and-drop for flexible task updates
- Baseline Comparison: Support for comparing planned vs. actual schedules for performance tracking
- Critical Path Highlighting: Automatic highlighting of the critical path for project risk management
- Resource Allocation: Resource allocation and workload view for balancing team capacity
- Export Support: Export to PDF and Excel formats for reporting and sharing
- Performance: Virtualization for efficiently handling large datasets
- Customization: Custom event templates, progress visualization, and styling
- Accessibility: Full keyboard navigation and screen reader support
Common Setup
1. Install NuGet Package
Install the Gantt package and the themes package, which provides the stylesheets referenced below:
dotnet add package Syncfusion.AspNetCore.Gantt
dotnet add package Syncfusion.AspNetCore.Themes
2. Register Tag Helper
Add to ~/Pages/_ViewImports.cshtml or ~/Views/_ViewImports.cshtml:
@addTagHelper *, Syncfusion.AspNetCore.Gantt
@addTagHelper *, Syncfusion.AspNetCore.Base
3. Add Stylesheet & Script References
Include the stylesheet and script references inside the head of ~/Pages/Shared/_Layout.cshtml file.
<head>
<link rel="stylesheet" href="_content/Syncfusion.AspNetCore.Themes/styles/fluent2.css" />
<script src="_content/Syncfusion.AspNetCore.Gantt/scripts/sf-gantt.min.js"></script>
</head>
4. Register Script Manager
Open the ~/Pages/Shared/_Layout.cshtml file and register the script manager (<ejs-scripts>) at the end of the body element as shown below.
<ejs-scripts></ejs-scripts>
Quick Start
Step 1: ~/Pages/Index.cshtml.cs
public class IndexModel : PageModel
{
public List<GanttTask> GanttData { get; set; }
public void OnGet()
{
GanttData = new List<GanttTask>
{
new GanttTask { TaskID = 1, TaskName = "Project Planning", StartDate = new DateTime(2026, 01, 01), Duration = 5, Progress = 100, ParentID = null },
new GanttTask { TaskID = 2, TaskName = "Requirement Analysis", StartDate = new DateTime(2026, 01, 02), Duration = 3, Progress = 100, ParentID = 1 },
new GanttTask { TaskID = 3, TaskName = "Design", StartDate = new DateTime(2026, 01, 06), Duration = 5, Progress = 50, ParentID = 1 },
new GanttTask { TaskID = 4, TaskName = "Development", StartDate = new DateTime(2026, 01, 12), Duration = 8, Progress = 30, ParentID = null },
new GanttTask { TaskID = 5, TaskName = "Testing", StartDate = new DateTime(2026, 01, 20), Duration = 4, Progress = 0, ParentID = null }
};
}
}
public class GanttTask
{
public int TaskID { get; set; }
public string TaskName { get; set; }
public DateTime StartDate { get; set; }
public int Duration { get; set; }
public int Progress { get; set; }
public int? ParentID { get; set; }
}
Step 2: ~/Pages/Index.cshtml
<ejs-gantt id="Gantt" dataSource="@Model.GanttData" height="450px" parentIdMapping="ParentID">
<e-gantt-columns>
<e-gantt-column field="TaskID" headerText="Task ID" width="80"></e-gantt-column>
<e-gantt-column field="TaskName" headerText="Task Name" width="180"></e-gantt-column>
<e-gantt-column field="StartDate" headerText="Start Date" type="date" format="yMd"></e-gantt-column>
<e-gantt-column field="Duration" headerText="Duration" width="80"></e-gantt-column>
<e-gantt-column field="Progress" headerText="Progress" width="80"></e-gantt-column>
</e-gantt-columns>
</ejs-gantt>
Step 3: Run the Application
Press Ctrl+F5 to run the application in your browser.
Documentation
Support
License
This is a commercial product and requires a paid license for possession or use. Review the Syncfusion® EULA
About Syncfusion®
Syncfusion® provides 1600+ UI components and frameworks for web, mobile, and desktop development across multiple platforms:
Web: Blazor | ASP.NET Core | ASP.NET MVC | JavaScript | Angular | React | Vue
Desktop: WinForms | WPF | WinUI
Learn more at www.syncfusion.com
sales@syncfusion.com | Toll Free: 1-888-9-DOTNET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Newtonsoft.Json (>= 13.0.4)
- Syncfusion.AspNetCore.Base (>= 34.2.6)
- Syncfusion.AspNetCore.Buttons (>= 34.2.6)
- Syncfusion.AspNetCore.Calendars (>= 34.2.6)
- Syncfusion.AspNetCore.DropDowns (>= 34.2.6)
- Syncfusion.AspNetCore.Grid (>= 34.2.6)
- Syncfusion.AspNetCore.Inputs (>= 34.2.6)
- Syncfusion.AspNetCore.Layouts (>= 34.2.6)
- Syncfusion.AspNetCore.Navigations (>= 34.2.6)
- Syncfusion.AspNetCore.Popups (>= 34.2.6)
- Syncfusion.AspNetCore.RichTextEditor (>= 34.2.6)
- Syncfusion.AspNetCore.TreeGrid (>= 34.2.6)
- Syncfusion.Licensing (>= 34.2.6)
- Syncfusion.Telemetry (>= 34.2.6)
-
net8.0
- Newtonsoft.Json (>= 13.0.4)
- Syncfusion.AspNetCore.Base (>= 34.2.6)
- Syncfusion.AspNetCore.Buttons (>= 34.2.6)
- Syncfusion.AspNetCore.Calendars (>= 34.2.6)
- Syncfusion.AspNetCore.DropDowns (>= 34.2.6)
- Syncfusion.AspNetCore.Grid (>= 34.2.6)
- Syncfusion.AspNetCore.Inputs (>= 34.2.6)
- Syncfusion.AspNetCore.Layouts (>= 34.2.6)
- Syncfusion.AspNetCore.Navigations (>= 34.2.6)
- Syncfusion.AspNetCore.Popups (>= 34.2.6)
- Syncfusion.AspNetCore.RichTextEditor (>= 34.2.6)
- Syncfusion.AspNetCore.TreeGrid (>= 34.2.6)
- Syncfusion.Licensing (>= 34.2.6)
- Syncfusion.Telemetry (>= 34.2.6)
-
net9.0
- Newtonsoft.Json (>= 13.0.4)
- Syncfusion.AspNetCore.Base (>= 34.2.6)
- Syncfusion.AspNetCore.Buttons (>= 34.2.6)
- Syncfusion.AspNetCore.Calendars (>= 34.2.6)
- Syncfusion.AspNetCore.DropDowns (>= 34.2.6)
- Syncfusion.AspNetCore.Grid (>= 34.2.6)
- Syncfusion.AspNetCore.Inputs (>= 34.2.6)
- Syncfusion.AspNetCore.Layouts (>= 34.2.6)
- Syncfusion.AspNetCore.Navigations (>= 34.2.6)
- Syncfusion.AspNetCore.Popups (>= 34.2.6)
- Syncfusion.AspNetCore.RichTextEditor (>= 34.2.6)
- Syncfusion.AspNetCore.TreeGrid (>= 34.2.6)
- Syncfusion.Licensing (>= 34.2.6)
- Syncfusion.Telemetry (>= 34.2.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.