mcpField
S
syncfusion-blazor-gantt-chart

syncfusion-blazor-gantt-chart

github.com/syncfusion開発4374 回インストール1 週間前に更新
リポジトリ

syncfusion-blazor-gantt-chart について

プロジェクトのスケジュール管理やタスク管理画面を実装する開発者向けの、Syncfusion Blazor Gantt の解説スキルです。データ、タイムライン、リソース、編集、分析を扱います。

主な機能

  1. 01階層タスクと依存関係
  2. 02タスクバーのインタラクティブ編集
  3. 03タイムラインと勤務時間の設定
  4. 04リソース割り当てと過剰割り当て表示
  5. 05クリティカルパスと取り消し・やり直し
  6. 06データバインディングとエクスポートの案内

活用シーン

  1. 01階層タスクを含むプロジェクト計画の作成
  2. 02リソース割り当てと作業量の追跡
  3. 03休日や勤務時間を含むタイムライン設定
  4. 04Gantt データとリモートサービスの接続

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/blazor-ui-components-skills --skill syncfusion-blazor-gantt-chart

インストール後、Claude Code で/syncfusion-blazor-gantt-chartを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-enums-and-types.md
api-event-args.md
api-settings-classes.md
assignment-fields-and-resource-mapping.md
clipboard-and-accessibility.md
column-basics-and-formatting.md
column-interactions.md
column-validation-and-editing.md
context-menu-and-toolbar.md
critical-path-and-analysis.md
data-binding-and-field-mapping.md
excel-export.md
filtering-and-search.md
gantt-methods-properties.md
getting-started-server.md
getting-started-webassembly.md
markers-and-labels.md
pdf-export.md
remote-data-adaptors.md
resources-and-allocation.md
rows-and-height.md
segment-fields-and-split-tasks.md
selection-modes.md
sorting-operations.md
task-crud-operations.md
task-dependencies-and-validation.md
task-scheduling-and-hierarchy.md
taskbar-and-templates.md
taskbar-editing.md
timeline-configuration.md

詳細

Syncfusion Blazor Gantt Chart の実装

このスキルを使用するタイミング

以下のニーズがある場合に、このスキルを使用します。

  • プロジェクトのスケジュール管理インターフェイスを実装する:視覚的なタイムラインとタスク管理を備えた Microsoft Project に似たインターフェイス
  • 階層化されたタスク構造を表示する:親子関係、依存関係、進捗状況の追跡に対応
  • インタラクティブなタイムライン編集を有効にする:ドラッグ&ドロップによるタスクバー操作、サイズ変更、依存関係のリンクに対応
  • プロジェクトリソースを管理する:人員の割り当て、作業負荷の追跡、過剰割り当ての検出を含む
  • 複雑なタイムラインを設定する:カスタムズームレベル、勤務時間、休日、タイムゾーン、期間の単位に対応
  • プロジェクトデータをエクスポートする:レイアウトやスタイルをカスタマイズして、Excel、CSV、PDF 形式に出力
  • リモートデータを処理する:Entity Framework、Dapper、カスタムアダプター、REST API 接続を使用
  • クリティカルパス分析を実装する:プロジェクトの完了日に影響するタスクを特定
  • リソースビューを作成する:チームメンバーや機器ごとのタスク割り当てと使用率を表示

このスキルでは、SfGantt<TValue> コンポーネントについて、基本的なセットアップから分割タスク、ベースラインの追跡、カスタム PDF エクスポートなどの高度な機能まで、包括的に説明します。


ドキュメントとナビゲーションガイド

このスキルは、14 の主要セクションで構成されています。各セクションには、特定の機能を扱うリファレンスファイルが含まれています。ユーザーのニーズに応じて読むリファレンスを特定するには、このナビゲーションガイドを使用してください。


1. はじめに

読むタイミング: 初期セットアップ、インストール、プラットフォーム固有の設定

📄 参照: references/getting-started-webassembly.md

  • Blazor WebAssembly 用 NuGet パッケージのインストール
  • コンポーネントの基本的なセットアップと登録
  • CSS テーマのインポートと設定
  • 最小構成の Gantt Chart の初回サンプル
  • タスクのデータモデルとフィールドのマッピング

📄 参照: references/getting-started-server.md

  • Blazor Server 固有のセットアップとサービス
  • Program.cs でのサービス登録
  • コンポーネントの初期化に関する違い

2. データバインディングとリモートデータ

読むタイミング: データソースの設定、データベースへの接続、カスタムデータアダプターの使用

📄 参照: references/data-binding-and-field-mapping.md

  • 階層型および自己参照型のデータ構造
  • GanttTaskFields の設定とマッピング
  • 必須フィールドと任意フィールド
  • SfDataManager の統合
  • 大規模データセット向けのオンデマンド読み込み

📄 参照: references/remote-data-adaptors.md

  • REST API 用 UrlAdaptor
  • カスタム DataAdaptor の実装
  • CRUD、検索、フィルター、並べ替え操作の処理
  • サービスの注入とパラメーターの受け渡し

3. タスク管理

読むタイミング: タスクの作成、編集、削除、依存関係、スケジュール設定、元に戻す/やり直し、クリティカルパス

📄 読む: references/task-scheduling-and-hierarchy.md

  • 入れ子型の階層構造と、自己参照型(ParentID)データ構造
  • タスクの種類:親(ロールアップ)、子(作業項目)、マイルストーン(期間ゼロ)、未スケジュール
  • 自動スケジュール設定と手動スケジュール設定の方法
  • 期間の単位:Day、Hour、Minute
  • 階層による影響:親へのロールアップ、展開/折りたたみ、インデント/インデント解除

📄 読む: references/task-crud-operations.md

  • 編集を有効にする — GanttEditSettings(AllowAdding、AllowEditing、AllowDeleting、AllowTaskbarEditing)
  • 編集モード — Auto、Dialog、Taskbar
  • ツールバー、コンテキストメニュー、またはプログラムによる API を使ったタスクの追加
  • ダイアログのカスタマイズ — 編集フォームに選択したフィールドのみを表示
  • リモート CRUD — InsertUrl、UpdateUrl、RemoveUrl、BatchUrl
  • 削除の動作 — カスケードルールと子タスクの処理

📄 読む: references/task-dependencies-and-validation.md

  • 依存関係の種類:FS、SS、FF、SF
  • GanttTaskFields.Dependency による先行タスクフィールドのマッピング
  • 依存関係の文字列形式(例:3FS、5SS+2d)
  • 循環依存の検出
  • 依存関係の変更と自動スケジュール設定との連動

📄 読む: references/critical-path-and-analysis.md

  • EnableCriticalPath — クリティカルタスクを自動的に赤色で強調表示
  • GanttCriticalPathSettings.SlackValue — クリティカルゾーンを広げ、ニアクリティカルタスクを含める
  • 「CriticalPath」ツールバー項目 — ユーザーが操作できる切り替え
  • QueryChartRowInfo + GanttTaskModel.IsCritical — クリティカルタスクバーの色やスタイルをカスタマイズ
  • GetCriticalTasksAsync() — クリティカルタスクの一覧をプログラムから取得
  • 計算ルール:進捗率が 100% 未満、依存関係に基づく、変更のたびに再計算

📄 読む: references/undo-redo-and-state.md

  • EnableUndoRedo + UndoRedoActions リスト — 23 種類のアクションを追跡(Add、Edit、Delete、TaskbarEdit、Sort、Filter、ZoomIn/Out、Indent/Outdent、RowDragAndDrop など)
  • MaxUndoRedoSteps — 履歴サイズの上限(デフォルト:20)
  • UndoAsync() / RedoAsync() — プログラムによる元に戻す/やり直し
  • 「Undo」/「Redo」ツールバー項目 — キーボードショートカット Ctrl+Z / Ctrl+Y
  • OnUndoRedo イベント — CanUndo/CanRedo の状態を使って、元に戻す/やり直し後の処理を実行
  • 状態を保持するパターン — 展開/折りたたみ、選択、ズーム、フィルター、スクロール位置

4. タイムラインの設定

参照するタイミング: タイムラインビュー、ズームレベル、勤務時間、休日、タイムゾーン、工数管理

📄 参照: references/timeline-configuration.md

  • 1段構成と2段構成のタイムラインレイアウト
  • GanttTimelineSettings、GanttTopTierSettings、GanttBottomTierSettings
  • TimelineViewMode の単位:Hour、Day、Week、Month、Year
  • TimelineUnitSize — セル幅/密度を制御します
  • 段ラベルの書式文字列
  • 表示する日付範囲の ProjectStartDate/ProjectEndDate

📄 参照: references/zooming-and-view-control.md

  • ツールバー項目の ZoomIn、ZoomOut、ZoomToFit
  • ZoomToFit — スケジュール全体を表示可能なビューポートに収めます
  • ツールバーまたはコードによるプログラムからのズーム
  • 推奨されるデフォルト:運用ビューには日/週、ロードマップビューには週/月

📄 参照: references/working-time-holidays-timezone.md

  • DayWorkingTime — 1日の勤務時間を定義します(例:8時間勤務)
  • WorkWeek — 勤務日とする曜日を指定します
  • GanttHolidays/GanttHoliday — From/To/Label を指定した非稼働日
  • 複数の地域にまたがるチームでのタイムゾーンに関する考慮事項
  • タスク期間の計算と自動スケジュール設定への影響

📄 参照: references/work-and-effort-tracking.md

  • GanttTaskFields.Work における Work フィールドのマッピング
  • タスクの種類:FixedDuration、FixedWork、FixedUnit
  • Work = Duration × WorkingHoursPerDay × (Unit / 100)
  • リソースの割り当て単位は工数の計算に影響します
  • WorkUnit プロパティ(Hour、Day、Minute)

5. リソース

参照するタイミング: リソースの割り当て、リソースビュー、過剰割り当ての検出、割り当ての CRUD

📄 参照: references/resources-and-allocation.md

  • GanttResource — DataSource、Id、Name、MaxUnits、Group のフィールドマッピング
  • GanttAssignmentFields — PrimaryKey、TaskID、ResourceID、Units
  • ResourceData モデル(ResourceId、ResourceName、MaxUnit)+ AssignmentModel(PrimaryId、TaskID、ResourceId、Unit)
  • セル編集(GanttResourceColumn)、ダイアログ、またはプログラムからリソースを割り当てます
  • AddResourceAssignmentAsync/UpdateResourceAssignmentAsync/DeleteResourceAssignmentAsync
  • リソースを含むタスクの種類:FixedDuration、FixedWork、FixedUnit
  • ViewType.ResourceView — リソース中心の階層構造(リソースを親、タスクを子として表示)
  • ShowOverallocation="true" — リソースビューで過剰に割り当てられた日付範囲を強調表示します
  • 過剰割り当て = すべてのタスクの日次工数 > DayWorkingHours × MaxUnits / 100
  • GanttLabelSettings.RightLabel="Resources" — タスクバーのラベルにリソース名を表示します

📄 参照: references/assignment-fields-and-resource-mapping.md

  • GanttAssignmentFields<TValue, TAssignment> クラスとプロパティ
  • リソース割り当てのコレクションと外部キーの関係
  • AddResourceAssignmentAsync、UpdateResourceAssignmentAsync、DeleteResourceAssignmentAsync
  • 多対多のタスクとリソースのマッピングパターン
  • リソース割り当て単位と割合の追跡

6. タスクセグメントと分割

参照するタイミング: タスクの分割、タスクセグメント、中断されたスケジュール、一時停止中の作業

📄 参照: references/segment-fields-and-split-tasks.md

  • GanttSegmentFields<TValue, TSegments> — PrimaryKey、TaskID、StartDate、EndDate のフィールドマッピング
  • セグメントのデータモデル:TaskID を介してタスクに関連付けられた別個のコレクション
  • SplitTaskAsync — 指定した日付でタスクをプログラムから分割します
  • MergeTaskAsync — セグメントを1つのタスクに再統合します
  • コンテキストメニューまたはダイアログによる UI からの分割
  • セグメントのタスクバー表示 — 隙間を挟んで連結された複数のバー
  • 使用例:予定された休憩、リソースの利用不可、承認待ちによる一時停止

7. 視覚化

読むタイミング: タスクバーのテンプレート、ベースライン、マーカー、ラベル、インタラクティブなタスクバー編集

📄 参照: references/taskbar-and-templates.md

  • GanttTemplates.TaskbarTemplate — タスクバーのコンテンツ用カスタム RenderFragment
  • GanttTooltipSettings.TaskbarTemplate — ツールチップのコンテンツ用カスタムテンプレート
  • ShowBaseline / BaselineColor / BaselineStart / BaselineEnd — 計画と実績の比較
  • TaskbarHeight / RowHeight — サイズの制御
  • パフォーマンスに関する注意:複雑なテンプレートは EnableVirtualization と組み合わせてください

📄 参照: references/markers-and-labels.md

  • GanttEventMarkers / GanttEventMarker — Date、Text、CssClass を指定する垂直のタイムライン線
  • GanttLabelSettings — フィールド名またはテンプレートを指定する LeftLabel、RightLabel、TopLabel
  • TaskbarTemplate を使ったデータマーカー — タスクのプロパティに基づく条件付きアイコン
  • タイムラインが煩雑にならないよう、マーカーは重要な日付に限定してください

📄 参照: references/taskbar-editing.md

  • GanttEditSettings で AllowTaskbarEditing="true" を設定
  • ドラッグしてタスクを移動 — StartDate と EndDate を更新
  • 左右のハンドルをリサイズ — 開始日または終了日を調整
  • 進捗ハンドルをドラッグ — Progress フィールドを更新
  • TaskbarEdited イベント — TaskbarEditedEventArgs<TValue> を受け取ります
  • OnActionBegin — args.Cancel を使ってタスクバーの編集を検証またはキャンセルします

8. グリッド列

読むタイミング: 列の設定、型、書式設定、表示/非表示、自動調整、検証、並べ替え、サイズ変更、列の固定、列メニュー

📄 参照: references/column-basics-and-formatting.md

  • GanttColumn の定義(Field、HeaderText、Width、TextAlign、Format、Type、Visible)
  • DateOnly、TimeOnly、Checkbox などの列の型
  • 数値の書式設定(N、C、P の各バリエーション)と日付の書式設定(カスタム書式文字列)
  • 列の自動調整 — DataBound イベントで AutoFitColumnsAsync を呼び出します
  • プログラムによる列の表示/非表示 — ShowColumnsAsync / HideColumnsAsync
  • TreeColumnIndex — 展開/折りたたみのツリーアイコンを別の列に移動
  • HideAtMedia — CSS メディアクエリによるレスポンシブな列
  • 列ごとの操作制御:AllowEditing、AllowFiltering、AllowSorting、AllowReordering、AllowResizing

📄 参照: references/column-interactions.md

  • 列の並べ替え — SfGantt の AllowReordering と列ごとの上書き設定
  • 列のサイズ変更 — AllowResizing、MinWidth、MaxWidth。ダブルクリックで自動調整
  • 列の固定 — FrozenColumns(先頭から N 列)と列ごとの IsFrozen(併用不可)
  • 固定方向 — IsFrozen と FreezeDirection.Left / FreezeDirection.Right を使用
  • ドラッグ可能な固定線 — AllowFreezeLineMoving
  • 列メニュー — 必須の併用設定(AllowSorting、AllowFiltering、AllowResizing)とともに SfGantt で ShowColumnMenu を設定
  • 組み込みの列メニュー項目:昇順で並べ替え、降順で並べ替え、自動調整、すべて自動調整、列の選択、フィルター
  • 列ごとに列メニューを無効化 — GanttColumn.ShowColumnMenu="false"
  • 列の選択 — ShowColumnChooser と「ColumnChooser」ツールバー項目

📄 参照: references/column-validation-and-editing.md

  • 編集を有効化 — GanttEditSettings と、キー列の IsPrimaryKey
  • インラインの ValidationRules — Required、RangeLength、Range、Number、Min、Max、Messages ディクショナリ
  • データ注釈による検証 — モデルクラスの [Required]、[StringLength]、[Range]
  • カスタム検証属性 — ValidationAttribute を継承し、IsValid() をオーバーライド
  • カスタムバリデーターコンポーネント — GanttEditSettings.Validator + ValidatorTemplateContext + ShowValidationMessage + IDisposable
  • 列ごとの EditType — DefaultEdit、NumericEdit、DatePickerEdit、DateTimePickerEdit、BooleanEdit、DropDownEdit
  • 注意:Resource 列では検証はサポートされません

9. 行と選択

読むタイミング: 行操作、セル/行の選択モード

📄 読む: references/rows-and-height.md

  • RowHeight の設定
  • AutoFitRows 機能
  • 行テンプレートのカスタマイズ
  • 行レベルのスタイル設定

📄 読む: references/selection-modes.md

  • SelectionSettings(Mode、Type、CellSelectionMode)
  • 行選択(Single/Multiple)
  • セル選択(Box/Flow/BoxWithBorder)
  • プログラムによる選択 API(SelectRow、SelectCell)

10. 操作

読むタイミング: ユーザー操作、フィルタリング、並べ替え、検索

📄 読む: references/filtering-and-search.md

  • FilterSettings(Type:Menu、Excel)
  • FilterHierarchyMode(Parent、Child、Both、None)
  • 検索機能(SearchSettings)
  • 列レベルのフィルタリング

📄 読む: references/sorting-operations.md

  • AllowSorting の設定
  • 単一列および複数列の並べ替え
  • SortSettings(Columns コレクション)
  • プログラムによる並べ替え API

📄 読む: references/context-menu-and-toolbar.md

  • ツールバーの組み込み項目(18 項目)と Align をサポートするカスタム項目
  • List<Object> を使用した、組み込み項目とカスタム項目の混在ツールバー
  • EnableItems メソッドを使用したツールバー項目の動的な有効化/無効化
  • コンテキストメニュー — EnableContextMenu、組み込み項目、カスタム項目、サブメニュー
  • ContextMenuOpen イベントを使用した特定の列のコンテキストメニューの無効化
  • カスタム項目の処理に使用する ContextMenuItemClicked イベント

📄 読む: references/touch-and-interaction-modes.md

  • タッチ操作のサポート
  • EnableTouch プロパティ
  • グリッド/チャートのペインをサイズ変更するスプリッター
  • SplitterSettings の設定

📄 読む: references/clipboard-and-accessibility.md

  • コピー/貼り付け機能
  • クリップボードモジュールの統合
  • キーボードナビゲーション
  • アクセシビリティ機能

11. パフォーマンス

読むタイミング: 最適化の戦略、大規模データセット

📄 読む: references/virtualization-and-performance.md

  • 大規模データセット向けの EnableRowVirtualization
  • 行と列の仮想化
  • 固定列(FrozenColumns プロパティ)
  • WebAssembly のパフォーマンス最適化のヒント
  • 10,000 件以上のタスクを処理するためのベストプラクティス

12. エクスポート

読むタイミング: PDF および Excel のエクスポート機能

📄 読む: references/pdf-export.md

  • PdfExport() メソッド
  • PdfExportProperties の設定
  • 複数ページの PDF エクスポート
  • ヘッダーとフッターのカスタマイズ
  • PDF のページサイズとスタイル設定
  • テンプレートベースの PDF エクスポート

📄 読む: references/excel-export.md

  • ExcelExport() メソッド
  • ExcelExportProperties の設定
  • Excel の列の書式設定
  • 階層データのエクスポート
  • カスタムセルのスタイル設定

13. API リファレンス

読むタイミング: 詳細な API ドキュメントを調べるとき

📄 参照: references/gantt-methods-properties.md

  • SfGantt メインコンポーネント
  • GanttTaskFields のマッピング
  • GanttColumn の構成
  • GanttResource のプロパティ
  • タスク分割用の GanttSegment

📄 参照: references/api-settings-classes.md

  • GanttEditSettings(AllowAdding、AllowEditing、AllowDeleting、Mode)
  • GanttSelectionSettings(Mode、Type、CellSelectionMode)
  • GanttFilterSettings(Type、HierarchyMode)
  • GanttSortSettings と GanttSearchSettings
  • GanttTimelineSettings と GanttSplitterSettings

📄 参照: references/api-event-args.md

  • GanttActionEventArgs
  • BeforeTooltipRenderEventArgs
  • BeforeCopyEventArgs
  • その他のイベント引数クラス

📄 参照: references/api-enums-and-types.md

  • EditMode(Auto、Dialog、Taskbar)
  • DependencyType(FS、SF、FF、SS)
  • DurationUnit(Day、Hour、Minute)
  • FilterType、ViewType、GridLine 列挙型
  • その他の列挙型

クイックスタートの例

@page "/gantt"
@using Syncfusion.Blazor.Gantt

<SfGantt DataSource="@TaskCollection" Height="450px" Width="100%">
    <GanttTaskFields Id="TaskId" 
                     Name="TaskName" 
                     StartDate="StartDate" 
                     EndDate="EndDate"
                     Duration="Duration" 
                     Progress="Progress" 
                     ParentID="ParentId"
                     Dependency="Predecessor">
    </GanttTaskFields>
</SfGantt>

@code {
    private List<TaskData> TaskCollection { get; set; }

    protected override void OnInitialized()
    {
        TaskCollection = new List<TaskData>
        {
            new TaskData { TaskId = 1, TaskName = "Project Initiation", StartDate = new DateTime(2024, 04, 01), EndDate = new DateTime(2024, 04, 05), Progress = 100 },
            new TaskData { TaskId = 2, TaskName = "Identify Site location", StartDate = new DateTime(2024, 04, 01), Duration = 4, Progress = 50, ParentId = 1 },
            new TaskData { TaskId = 3, TaskName = "Perform Soil test", StartDate = new DateTime(2024, 04, 01), Duration = 3, Progress = 70, Predecessor = "2", ParentId = 1 },
        };
    }

    public class TaskData
    {
        public int TaskId { get; set; }
        public string TaskName { get; set; }
        public DateTime StartDate { get; set; }
        public DateTime? EndDate { get; set; }
        public int? Duration { get; set; }
        public int Progress { get; set; }
        public int? ParentId { get; set; }
        public string Predecessor { get; set; }
    }
}

一般的なパターン

パターン 1:ダイアログ編集による完全な CRUD
<SfGantt DataSource="@TaskCollection" Toolbar="@ToolbarItems">
    <GanttTaskFields Id="TaskId" Name="TaskName" StartDate="StartDate" 
                     EndDate="EndDate" Duration="Duration" Progress="Progress" 
                     ParentID="ParentId" Dependency="Predecessor">
    </GanttTaskFields>
    <GanttEditSettings AllowAdding="true" 
                       AllowEditing="true" 
                       AllowDeleting="true"
                       AllowTaskbarEditing="true"
                       Mode="EditMode.Dialog">
    </GanttEditSettings>
</SfGantt>

@code {
    private List<string> ToolbarItems = new List<string> { "Add", "Edit", "Delete" };
}
パターン 2:リソース割り当てを伴うクリティカルパス
<SfGantt DataSource="@TaskCollection" 
         Resources="@ResourceCollection"
         EnableCriticalPath="true">
    <GanttTaskFields Id="TaskId" Name="TaskName" StartDate="StartDate" 
                     EndDate="EndDate" Duration="Duration" 
                     ResourceInfo="Resources" Work="Work">
    </GanttTaskFields>
    <GanttResource DataSource="@ResourceCollection" 
                   Id="ResourceId" 
                   Name="ResourceName">
    </GanttResource>
    <GanttCriticalPathSettings SlackValue="1"></GanttCriticalPathSettings>
</SfGantt>
パターン 3:Entity Framework を使ったリモートデータ
<SfGantt TValue="TaskData">
    <SfDataManager Adaptor="Adaptors.UrlAdaptor" Url="api/gantt"></SfDataManager>
    <GanttTaskFields Id="TaskId" Name="TaskName" StartDate="StartDate" 
                     EndDate="EndDate" Duration="Duration" ParentID="ParentId">
    </GanttTaskFields>
</SfGantt>
パターン 4:カスタムスタイルを使ったエクスポート
<SfGantt @ref="GanttRef" 
         DataSource="@TaskCollection" 
         AllowPdfExport="true" 
         AllowExcelExport="true"
         Toolbar="@ToolbarItems">
    <GanttTaskFields Id="TaskId" Name="TaskName" StartDate="StartDate" EndDate="EndDate">
    </GanttTaskFields>
    <GanttEvents TValue="TaskData" OnToolbarClick="ToolbarClickHandler"></GanttEvents>
</SfGantt>

@code {
    private SfGantt<TaskData> GanttRef;
    private List<string> ToolbarItems = new List<string> { "PdfExport", "ExcelExport" };

    private async Task ToolbarClickHandler(ClickEventArgs args)
    {
        if (args.Item.Id == "PdfExport")
            await GanttRef.ExportToPdfAsync();
        else if (args.Item.Id == "ExcelExport")
            await GanttRef.ExportToExcelAsync();
    }
}

主な構成ポイント

必須プロパティ
  • DataSource:タスクのコレクション(階層型または自己参照型)
  • GanttTaskFields:タスクのプロパティ(Id、Name、StartDate、Duration、ParentID、Dependency)をマッピングします
  • Height/Width:コンポーネントのサイズ
  • Toolbar:組み込みアクション(Add、Edit、Delete、Search、Export)
  • GanttEditSettings:CRUD の権限と編集モード
タイムラインの構成
  • DurationUnit:デフォルトの期間単位(Day、Hour、Minute)
  • ProjectStartDate/ProjectEndDate:タイムラインの範囲
  • GanttTimelineSettings:タイムラインの階層、書式、ズームレベル
  • DayWorkingTime:1 日あたりの勤務時間
  • Holidays:非稼働日
外観のカスタマイズ
  • GanttTaskbarSettings:タスクバーの高さとスタイル
  • GanttLabelSettings:左、右、上のラベル
  • GanttTemplates:タスクバー、ツールチップ、マイルストーンのカスタムテンプレート
  • BaselineColor/ConnectorLineBackground:外観のスタイル設定
パフォーマンスの最適化
  • EnableRowVirtualization:大規模なデータセット(1000 件以上のタスク)向け
  • EnableColumnVirtualization:列数が多い場合向け
  • LoadChildOnDemand:子タスクを遅延読み込みします
  • TreeColumnIndex:階層を表示する列を指定します

一般的なユースケース

  1. プロジェクト管理ダッシュボード:完全な CRUD、依存関係、クリティカルパス、リソース割り当て
  2. 建設スケジュール管理:ベースラインの追跡、タスクの分割、休日、カスタム勤務時間
  3. リソース計画:リソースビュー、過剰割り当ての検出、作業量ベースのスケジュール設定
  4. スプリント計画:タイムラインのズーム、マイルストーンの追跡、進捗インジケーター
  5. 製造タイムライン:複数レベルの階層、依存関係の検証、PDF エクスポート

次のステップ

このナビゲーションガイドを確認した後:

  1. 初期設定の場合:使用するプラットフォームに応じて、セクション 1(はじめに)から始めます
  2. データ接続の場合:データソースの種類に応じて、セクション 2(データバインディング)を確認します
  3. 特定の機能を確認する場合:該当するセクションに移動し、関連するリファレンスファイルを読みます
  4. API の詳細を確認する場合:プロパティ、メソッド、クラスについては、セクション 13(API リファレンス)を参照します

イベントのリファレンス:イベント引数の型は references/api-event-args.md に記載されています。個々の機能ファイル(例:taskbar-editing.md、filtering-and-search.md、sorting-operations.md、selection-modes.md)には、それぞれの機能に固有のイベント、ハンドラーのシグネチャ、使用例が記載されています。

各リファレンスファイルには、該当するトピックの完全な実装の詳細、コード例、エッジケース、トラブルシューティングのガイダンスが記載されています。

コメント