Planifiez des projets avec une liste de tâches, des barres sur une échelle de temps, des sous-tâches, la progression, des jalons et des dépendances, et déplacez les barres à la souris, au toucher ou au clavier.
Pourquoi c’est utile
- Sous-tâches et jalons
- Dépendances et chemin critique
- Échelles jour, semaine et mois
Où il trouve sa place
- Plans de projet
- Calendriers de production
- Feuilles de route

Exemple
<div class="doc-stack" style="max-width:none">
<Gantt ShowCriticalPath="true" AutoSchedule="true" Tasks="_tasks" Label="Project plan" Editable="true" @bind-Scale="_scale" TaskChanged="@((GanttTask task) => _message = $"{task.Title} now runs {task.Start:d} to {task.End:d}")" ListWidth="20rem" />
<span>@_message</span>
</div>
@code {
private GanttScale _scale = GanttScale.Day;
private string _message = "Drag a bar to move it, drag its ends to change the dates, or focus a bar and use the arrow keys (Shift changes the end).";
private static readonly DateTime Monday = new(2026, 10, 5);
private readonly List<GanttTask> _tasks =
[
new() { Id = "plan", Title = "Planning", Start = Monday, End = Monday.AddDays(9) },
new() { Id = "scope", Title = "Define scope", ParentId = "plan", Start = Monday, End = Monday.AddDays(3), Progress = 100, Severity = Severity.Success, Resource = "Anna" },
new() { Id = "budget", Title = "Agree the budget", ParentId = "plan", Start = Monday.AddDays(4), End = Monday.AddDays(9), Progress = 60, DependsOn = ["scope"], Resource = "Boris" },
new() { Id = "kickoff", Title = "Kick-off", Start = Monday.AddDays(10), End = Monday.AddDays(10), Milestone = true, DependsOn = ["budget"] },
new() { Id = "build", Title = "Build", Start = Monday.AddDays(11), End = Monday.AddDays(25), Progress = 20, DependsOn = ["kickoff"] },
new() { Id = "test", Title = "Test", Start = Monday.AddDays(21), End = Monday.AddDays(30), Severity = Severity.Warning, DependsOn = ["build"] },
new() { Id = "release", Title = "Release", Start = Monday.AddDays(31), End = Monday.AddDays(31), Milestone = true, Severity = Severity.Error, DependsOn = ["test"] }
];
} Un court fragment. Ajoutez @using RayCraft.Blazor.Components à votre page et utilisez un mode de rendu interactif.
Fait partie de RayCraft Complete.