Hoppa till innehållet
PLANERING · COMPLETE

Gantt

Planera projekt med uppgifter, deluppgifter, milstolpar, beroenden och dra och släpp.

Planera projekt med en uppgiftslista, staplar på en tidsskala, deluppgifter, förlopp, milstolpar och beroenden, och flytta staplar med mus, beröring eller tangentbord.

Varför det hjälper

  • Deluppgifter och milstolpar
  • Beroenden och kritisk linje
  • Dags-, vecko- och månadsskalor

Var det passar

  • Projektplaner
  • Produktionsscheman
  • Färdplaner
Kontrollen Gantt på en RayCraft-sida

Exempel

<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"] }
    ];
}

Ett kort utdrag. Lägg till @using RayCraft.Blazor.Components på din sida och använd ett interaktivt renderingsläge.

Del av RayCraft Complete.

Alla kontroller ยท Dokumentation