Loading...
Loading...
Compare original and translation side by side
GanttComponentGanttComponentGanttComponenttaskFieldsgridLines'Both''Horizontal''Vertical''None'taskFieldsGanttComponentgridLines'Both''Horizontal''Vertical''None'DataManagertaskFieldsurlbatchUrlQuery.addParams()loadAjaxloadChildOnDemand={false}hasChildMappingactionFailureDataManagertaskFieldsurlbatchUrlloadQuery.addParams()AjaxloadChildOnDemand={false}hasChildMappingactionFailuretaskModetaskModetaskFields.dependency"2FS""2FS+3d""2SS+2h""2FS,3FS""2FS+3h""2FS-1d"addPredecessorremovePredecessorupdatePredecessorconnectorLineWidthconnectorLineBackgroundautoUpdatePredecessorOffset={true}autoUpdatePredecessorOffset={false}updateOffsetOnTaskbarEdit={true}updateOffsetOnTaskbarEdit={false}actionBeginrequestType === 'validateLinkedTask'respectLink={true}removeLink={true}preserveLinkWithEditing={true}allowParentDependency={true}false.e-gantt-dependency-view-containerenablePredecessorValidation={false}taskFields.dependency"2FS""2FS+3d""2SS+2h""2FS,3FS""2FS+3h""2FS-1d"addPredecessorremovePredecessorupdatePredecessorconnectorLineWidthconnectorLineBackgroundautoUpdatePredecessorOffset={true}autoUpdatePredecessorOffset={false}updateOffsetOnTaskbarEdit={true}updateOffsetOnTaskbarEdit={false}actionBeginrequestType === 'validateLinkedTask'respectLink={true}removeLink={true}preserveLinkWithEditing={true}allowParentDependency={true}false.e-gantt-dependency-view-containerenablePredecessorValidation={false}taskFields.constraintTypetaskFields.constraintDatetaskModetaskFields.constraintTypetaskFields.constraintDatetaskModetimelineViewModeHourDayWeekMonthYearunitformatcountformatterformattertimelineUnitSizeweekStartDayhighlightWeekends={true}zoomIn()zoomOut()fitToProject()timelineViewModeHourDayWeekMonthYearunitformatcountformatterformattertimelineUnitSizeweekStartDayhighlightWeekends={true}zoomIn()zoomOut()fitToProject()ColumnsDirectivevalueAccessorvalueAccessorrowDataBoundtreeColumnIndexqueryCellInfocollapseAllParentTaskstaskFields.expandStatelocalStorageenableWBSenableAutoWbsUpdatetaskFields.wbsPredecessorheaderTemplatetreeGrid.textWrapSettings.wrapModegetColumnByFieldrefreshHeadereditTemplatefrozenColumnsFreezeColumnsDirectivevalueAccessorvalueAccessorrowDataBoundtreeColumnIndexqueryCellInfocollapseAllParentTaskstaskFields.expandStatelocalStorageenableWBSenableAutoWbsUpdatetaskFields.wbsPredecessorheaderTemplatetreeGrid.textWrapSettings.wrapModegetColumnByFieldrefreshHeadereditTemplatefrozenColumnsFreezeallowResizingResizeminWidthmaxWidthallowResizing={false}resizeSettings.modereorderColumnsrefreshColumnsresizeStartresizingresizeStopallowReorderingReorderallowReordering={false}reorderColumnsreorderColumnByIndexreorderColumnByTargetIndexcolumnDragStartcolumnDragcolumnDropshowColumnMenuColumnMenucolumnMenuClickshowColumnMenu={false}allowResizingResizeminWidthmaxWidthallowResizing={false}resizeSettings.modereorderColumnsrefreshColumnsresizeStartresizingresizeStopallowReorderingReorderallowReordering={false}reorderColumnsreorderColumnByIndexreorderColumnByTargetIndexcolumnDragStartcolumnDragcolumnDropshowColumnMenuColumnMenucolumnMenuClickshowColumnMenu={false}queryCellInfoQueryCellInfoEventArgsrowSpancolSpancelldatacolumncolSpanrowSpanrowDataBoundqueryCellInfoQueryCellInfoEventArgsrowSpancolSpancelldatacolumncolSpanrowSpanrowDataBoundaddRecord()mode: 'Dialog'mode: 'Auto'deleteRow()showDeleteConfirmDialogtaskFields.segmentssplitTask()mergeTask()editTypestringeditnumericeditdatepickereditdatetimepickereditdropdowneditbooleaneditedit.paramsaddDialogFieldseditDialogFieldsUrlAdaptorurlbatchUrladdedchangeddeletedvalidationRulesColumnDirectiverequiredminmaxminLengthdateregex[fn, 'message']addRecord()mode: 'Dialog'mode: 'Auto'deleteRow()showDeleteConfirmDialogtaskFields.segmentssplitTask()mergeTask()editTypestringeditnumericeditdatepickereditdatetimepickereditdropdowneditbooleaneditedit.paramsaddDialogFieldseditDialogFieldsUrlAdaptorurlbatchUrladdedchangeddeletedColumnDirectivevalidationRulesrequiredminmaxminLengthdateregex[fn, 'message']allowFiltering={true}FilterParentChildBothNonesearchSettingsfieldsoperatorignoreCasefilterSettings.columnsfilterByColumn()clearFiltering()allowFiltering={true}FilterParentChildBothNonesearchSettingsfieldsoperatorignoreCasefilterSettings.columnsfilterByColumn()clearFiltering()sortSettingssortSettingsselectRowselectCellselectRowselectCellresourcestaskFields.resourceInfoviewType='ResourceView'enableMultiTaskbar={true}showOverAllocatedTasks={true}resourceFields.unitresourceFields.groupqueryTaskbarInforesourcestaskFields.resourceInfoviewType='ResourceView'enableMultiTaskbar={true}showOverAllocatedTasks={true}resourceFields.unitresourceFields.groupqueryTaskbarInfoAddEditDeleteUpdateCancelSearchExpandAllCollapseAllIndentOutdentZoomInZoomOutZoomToFitCriticalPathExcelExportCsvExportPdfExportColumnChooserUndoRedoSplitTaskMergeTaskUndoRedoUndoRedoSplitTaskEditItemModeltoolbarClickSplitTaskMergeTaskConvertDeleteDependencycontextMenuClickcontextMenuOpenargs.hideItemsAddEditDeleteUpdateCancelSearchExpandAllCollapseAllIndentOutdentZoomInZoomOutZoomToFitCriticalPathExcelExportCsvExportPdfExportColumnChooserUndoRedoSplitTaskMergeTaskUndoRedoUndoRedoSplitTaskEditItemModeltoolbarClickSplitTaskMergeTaskConvertDeleteDependencycontextMenuClickcontextMenuOpenargs.hideItemsholidaysHolidayModelDayMarkersworkWeekincludeWeekenddayWorkingTimetaskFields.workworkUnittimezoneholidaysHolidayModelDayMarkersworkWeekincludeWeekenddayWorkingTimetaskFields.workworkUnittimezonesplitterSettings.positionsplitterSettings.columnIndexsplitterSettings.viewsetSplitterPosition()splitterResizeStartsplitterResizingsplitterResizedsplitterSettings.positionsplitterSettings.columnIndexsplitterSettings.viewsetSplitterPosition()splitterResizeStartsplitterResizingsplitterResizedwidthheightwidth='100%'height='100%'scrollToDate('MM/dd/yyyy')ganttChartModule.scrollObject.setScrollTop(px)widthheightwidth='100%'height='100%'scrollToDate('MM/dd/yyyy')ganttChartModule.scrollObject.setScrollTop(px)enableVirtualization={true}VirtualScrollenableTimelineVirtualization={true}projectStartDateprojectEndDatetreeGrid.filterModule.filteredResultenableVirtualization={true}VirtualScrollenableTimelineVirtualization={true}projectStartDateprojectEndDatetreeGrid.filterModule.filteredResultenableUndoRedoUndoRedoundoRedoActionsundoRedoStepsCount'Undo''Redo'Ctrl+ZCtrl+Yundo()redo()enableUndoRedoUndoRedoundoRedoActionsundoRedoStepsCount'Undo''Redo'Ctrl+ZCtrl+Yundo()redo()enablePersistence={true}ididenableImmutableMode={true}isPrimaryKey={true}loadingIndicator.indicatorType'Spinner''Shimmer'showSpinner()hideSpinner()enablePersistence={true}ididenableImmutableMode={true}isPrimaryKey={true}loadingIndicator.indicatorType'Spinner''Shimmer'showSpinner()hideSpinner()localeL10n.load()'gantt'enableRtl={true}format='yMd'format='dd/MM/yyyy'format='C2'format='N2'format='P0'localeL10n.load()'gantt'enableRtl={true}format='yMd'format='dd/MM/yyyy'format='C2'format='N2'format='P0'autoFitColumns()cancelEdit()openAddDialog()openEditDialog()deleteRecord()convertToMilestone()changeTaskMode()updateRecordByID()updateRecordByIndex()updateTaskId()updateDataSource()updateProjectDates()enableItems()expandByIndex()collapseByIndex()clearUndoCollection()clearRedoCollection()getUndoActions()getRedoActions()getCurrentViewData()getRecordByID()getTaskByUniqueID()getTaskInfo()getTaskbarHeight()getExpandedRecords()getGanttColumns()getGridColumns()getDurationString()getWorkString()getRowByID()getRowByIndex()removeSortColumn()selectCells()reorderRows()scrollToTask()updateChartScrollOffset()autoFitColumns()cancelEdit()openAddDialog()openEditDialog()deleteRecord()convertToMilestone()changeTaskMode()updateRecordByID()updateRecordByIndex()updateTaskId()updateDataSource()updateProjectDates()enableItems()expandByIndex()collapseByIndex()clearUndoCollection()clearRedoCollection()getUndoActions()getRedoActions()getCurrentViewData()getRecordByID()getTaskByUniqueID()getTaskInfo()getTaskbarHeight()getExpandedRecords()getGanttColumns()getGridColumns()getDurationString()getWorkString()getRowByID()getRowByIndex()removeSortColumn()selectCells()reorderRows()scrollToTask()updateChartScrollOffset()loadcreateddataBoundactionBeginactionCompleterequestTypetaskbarEditingtaskbarEditedtaskbarClickexpandingcollapsingexpandedcollapsedrowSelectedrowDeselectedcellSelectedcellDeselectedexcelExportCompletepdfExportCompleteresizeStartresizingresizeStopcolumnDragStartcolumnDragcolumnDropargs.cancel = trueloadcreateddataBoundactionBeginactionCompleterequestTypetaskbarEditingtaskbarEditedtaskbarClickexpandingcollapsingexpandedcollapsedrowSelectedrowDeselectedcellSelectedcellDeselectedexcelExportCompletepdfExportCompleteresizeStartresizingresizeStopcolumnDragStartcolumnDragcolumnDropargs.cancel = trueimport * as React from 'react';
import { GanttComponent, ColumnsDirective, ColumnDirective, Inject, Edit, Toolbar, Selection } from '@syncfusion/ej2-react-gantt';
import { TaskFieldsModel, EditSettingsModel } from '@syncfusion/ej2-gantt';
// In App.css:
// @import "../node_modules/@syncfusion/ej2-gantt/styles/tailwind3.css";
// (plus base, buttons, calendars, dropdowns, grids, inputs, layouts,
// lists, navigations, notifications, popups, richtexteditor, treegrid)
const data = [
{
TaskID: 1, TaskName: 'Project Initiation',
StartDate: new Date('04/02/2024'), EndDate: new Date('04/21/2024'),
subtasks: [
{ TaskID: 2, TaskName: 'Identify Site Location', StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50 },
{ TaskID: 3, TaskName: 'Perform Soil Test', StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50, Predecessor: '2' },
{ TaskID: 4, TaskName: 'Soil Test Approval', StartDate: new Date('04/08/2024'), Duration: 0, Predecessor: '3FS', Progress: 50 },
]
}
];
const taskFields: TaskFieldsModel = {
id: 'TaskID',
name: 'TaskName',
startDate: 'StartDate',
endDate: 'EndDate',
duration: 'Duration',
progress: 'Progress',
dependency: 'Predecessor',
child: 'subtasks',
};
const editSettings: EditSettingsModel = { allowEditing: true, allowAdding: true, allowDeleting: true, allowTaskbarEditing: true };
function App() {
return (
<GanttComponent
dataSource={data}
taskFields={taskFields}
editSettings={editSettings}
toolbar={['Add', 'Edit', 'Delete', 'Cancel', 'Update', 'Search', 'ZoomIn', 'ZoomOut', 'ZoomToFit']}
height="450px"
>
<ColumnsDirective>
<ColumnDirective field="TaskID" width="80" />
<ColumnDirective field="TaskName" headerText="Task Name" width="250" />
<ColumnDirective field="StartDate" />
<ColumnDirective field="Duration" />
<ColumnDirective field="Progress" />
</ColumnsDirective>
<Inject services={[Edit, Toolbar, Selection]} />
</GanttComponent>
);
}
export default App;import * as React from 'react';
import { GanttComponent, ColumnsDirective, ColumnDirective, Inject, Edit, Toolbar, Selection } from '@syncfusion/ej2-react-gantt';
import { TaskFieldsModel, EditSettingsModel } from '@syncfusion/ej2-gantt';
// 在App.css中:
// @import "../node_modules/@syncfusion/ej2-gantt/styles/tailwind3.css";
// (加上base、buttons、calendars、dropdowns、grids、inputs、layouts,
// lists、navigations、notifications、popups、richtexteditor、treegrid)
const data = [
{
TaskID: 1, TaskName: '项目启动',
StartDate: new Date('04/02/2024'), EndDate: new Date('04/21/2024'),
subtasks: [
{ TaskID: 2, TaskName: '确定场地位置', StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50 },
{ TaskID: 3, TaskName: '进行土壤测试', StartDate: new Date('04/02/2024'), Duration: 4, Progress: 50, Predecessor: '2' },
{ TaskID: 4, TaskName: '土壤测试审批', StartDate: new Date('04/08/2024'), Duration: 0, Predecessor: '3FS', Progress: 50 },
]
}
];
const taskFields: TaskFieldsModel = {
id: 'TaskID',
name: 'TaskName',
startDate: 'StartDate',
endDate: 'EndDate',
duration: 'Duration',
progress: 'Progress',
dependency: 'Predecessor',
child: 'subtasks',
};
const editSettings: EditSettingsModel = { allowEditing: true, allowAdding: true, allowDeleting: true, allowTaskbarEditing: true };
function App() {
return (
<GanttComponent
dataSource={data}
taskFields={taskFields}
editSettings={editSettings}
toolbar={['Add', 'Edit', 'Delete', 'Cancel', 'Update', 'Search', 'ZoomIn', 'ZoomOut', 'ZoomToFit']}
height="450px"
>
<ColumnsDirective>
<ColumnDirective field="TaskID" width="80" />
<ColumnDirective field="TaskName" headerText="任务名称" width="250" />
<ColumnDirective field="StartDate" />
<ColumnDirective field="Duration" />
<ColumnDirective field="Progress" />
</ColumnsDirective>
<Inject services={[Edit, Toolbar, Selection]} />
</GanttComponent>
);
}
export default App;<GanttComponent
editSettings={{ allowEditing: true, mode: 'Dialog' }}
>
<Inject services={[Edit]} />
</GanttComponent><GanttComponent
editSettings={{ allowEditing: true, mode: 'Dialog' }}
>
<Inject services={[Edit]} />
</GanttComponent><GanttComponent
editSettings={{ allowEditing: true, mode: 'Auto' }}
>
<Inject services={[Edit]} />
</GanttComponent><GanttComponent
editSettings={{ allowEditing: true, mode: 'Auto' }}
>
<Inject services={[Edit]} />
</GanttComponent>const ganttRef = React.useRef<GanttComponent>(null);
const addTask = () => {
ganttRef.current?.addRecord({ TaskID: 10, TaskName: 'New Task', Duration: 3 }, 'Below', 1);
};const ganttRef = React.useRef<GanttComponent>(null);
const addTask = () => {
ganttRef.current?.addRecord({ TaskID: 10, TaskName: '新任务', Duration: 3 }, 'Below', 1);
};<GanttComponent toolbar={['ExcelExport']} allowExcelExport={true}>
<Inject services={[ExcelExport, Toolbar]} />
</GanttComponent><GanttComponent toolbar={['ExcelExport']} allowExcelExport={true}>
<Inject services={[ExcelExport, Toolbar]} />
</GanttComponent><GanttComponent toolbar={['PdfExport']} allowPdfExport={true}>
<Inject services={[PdfExport, Toolbar]} />
</GanttComponent><GanttComponent toolbar={['PdfExport']} allowPdfExport={true}>
<Inject services={[PdfExport, Toolbar]} />
</GanttComponent><ColumnsDirective>
<ColumnDirective field="TaskName" validationRules={{ required: true }} />
<ColumnDirective field="Duration" validationRules={{ min: 1, max: 100 }} />
</ColumnsDirective><ColumnsDirective>
<ColumnDirective field="TaskName" validationRules={{ required: true }} />
<ColumnDirective field="Duration" validationRules={{ min: 1, max: 100 }} />
</ColumnsDirective>const ganttRef = React.useRef<GanttComponent>(null);
ganttRef.current?.scrollToDate('04/28/2024');const ganttRef = React.useRef<GanttComponent>(null);
ganttRef.current?.scrollToDate('04/28/2024');<ColumnDirective field="TaskName" minWidth="100" maxWidth="400" allowResizing={true} /><ColumnDirective field="TaskName" minWidth="100" maxWidth="400" allowResizing={true} />const ganttRef = React.useRef<GanttComponent>(null);
// By field names:
(ganttRef.current as any).treeGrid.reorderColumns(['Duration', 'Progress'], 'TaskName');
// By index:
(ganttRef.current as any).treeGrid.reorderColumnByIndex(2, 0);const ganttRef = React.useRef<GanttComponent>(null);
// 通过字段名称:
(ganttRef.current as any).treeGrid.reorderColumns(['Duration', 'Progress'], 'TaskName');
// 通过索引:
(ganttRef.current as any).treeGrid.reorderColumnByIndex(2, 0);// In taskFields — map a boolean field that controls initial expand state:
const taskFields = { ..., expandState: 'isExpand' };
// Or collapse all on load:
<GanttComponent collapseAllParentTasks={true} .../>// 在taskFields中 — 映射一个控制初始展开状态的布尔字段:
const taskFields = { ..., expandState: 'isExpand' };
// 或加载时全部折叠:
<GanttComponent collapseAllParentTasks={true} .../>| Feature | Service to Inject |
|---|---|
| Editing (add/edit/delete/taskbar drag) | |
| Filtering | |
| Sorting | |
| Toolbar | |
| Selection | |
| Day Markers / Holidays / Event Markers | |
| Critical Path | |
| Excel / CSV Export | |
| PDF Export | |
| Undo / Redo | |
| Column Menu | |
| Context Menu | |
| Virtual Scrolling | |
| Row Drag and Drop | |
| Column Reordering | |
| Frozen Columns | |
| Column Resizing | |
import { GanttComponent, Inject, Edit, Filter, Sort, Toolbar, Selection } from '@syncfusion/ej2-react-gantt';
<GanttComponent ...>
<Inject services={[Edit, Filter, Sort, Toolbar, Selection]} />
</GanttComponent>| 功能 | 需注入的服务 |
|---|---|
| 编辑(添加/编辑/删除/任务栏拖拽) | |
| 筛选 | |
| 排序 | |
| 工具栏 | |
| 选择 | |
| 日期标记 / 节假日 / 事件标记 | |
| 关键路径 | |
| Excel / CSV导出 | |
| PDF导出 | |
| 撤销/重做 | |
| 列菜单 | |
| 上下文菜单 | |
| 虚拟滚动 | |
| 行拖拽 | |
| 列重排 | |
| 冻结列 | |
| 列调整大小 | |
import { GanttComponent, Inject, Edit, Filter, Sort, Toolbar, Selection } from '@syncfusion/ej2-react-gantt';
<GanttComponent ...>
<Inject services={[Edit, Filter, Sort, Toolbar, Selection]} />
</GanttComponent>| Prop | Type | Purpose |
|---|---|---|
| object[] / DataManager | Task data (local or remote via DataManager) |
| TaskFieldsModel | Field mapping for task properties |
| EditSettingsModel | Enable add/edit/delete/taskbar editing |
| string[] | Toolbar items to render |
| Auto / Manual / Custom | Scheduling mode |
| object[] | Resource data collection |
| ResourceFieldsModel | Resource field mapping |
| boolean | Enable sorting |
| boolean | Enable filtering |
| boolean | Enable column reorder |
| boolean | Enable column resize |
| boolean | Enable Excel export |
| boolean | Enable PDF export |
| string[] | Actions tracked by undo/redo |
| TimelineSettingsModel | Timeline tiers and unit config |
| SplitterSettingsModel | Grid/chart panel ratio |
| boolean | Shade weekend columns |
| HolidayModel[] | Mark holiday dates |
| EventMarkerModel[] | Vertical markers on timeline |
| number | Column index showing expand/collapse icons |
| boolean | Collapse all parent rows on initial load |
| boolean | Auto-generate WBS codes from task hierarchy |
| boolean | Recalculate WBS codes after CRUD/sort/DnD |
| number | Number of left-pinned (frozen) columns |
| boolean | Show multiple taskbars per resource row |
| string | |
| boolean | Show column-level menu (sort, filter, autofit) |
| string[] | Restrict which column menu items are shown |
| boolean | Enable column chooser dialog via toolbar |
| boolean | Enable row/cell selection |
| SelectionSettingsModel | Selection mode ( |
| string | Grid lines style: |
| boolean | Show baseline bars alongside actual taskbars |
| string | CSS color for baseline bars |
| boolean | Highlight critical path tasks and connectors |
| boolean | Enable right-to-left layout |
| string | Locale code (e.g. |
| boolean | Enable row drag-and-drop reordering/reparenting |
| boolean | Only re-render changed rows on data updates (requires |
| boolean | Persist UI state (sort, filter, column widths) to localStorage |
| object | Loading animation type: |
| string[] | Working days, e.g. |
| boolean | Count weekends as working days for duration calculation |
| string | IANA timezone for the Gantt (e.g. |
| boolean | Highlight over-allocated resources in ResourceView |
| boolean | Enable undo/redo tracking (inject |
| number | Maximum undo/redo history steps (default: 10) |
| boolean | Row virtualization for large data sets |
| boolean | Timeline (horizontal) virtualization |
| number | Uniform row height in pixels |
| number | Height of taskbars in pixels (must be ≤ |
| number | Width of dependency connector lines |
| string | Color of dependency connector lines |
| 属性 | 类型 | 用途 |
|---|---|---|
| object[] / DataManager | 任务数据(本地或通过DataManager远程获取) |
| TaskFieldsModel | 任务属性的字段映射 |
| EditSettingsModel | 启用添加/编辑/删除/任务栏编辑 |
| string[] | 要渲染的工具栏项 |
| Auto / Manual / Custom | 调度模式 |
| object[] | 资源数据集合 |
| ResourceFieldsModel | 资源字段映射 |
| boolean | 启用排序 |
| boolean | 启用筛选 |
| boolean | 启用列重排 |
| boolean | 启用列调整大小 |
| boolean | 启用Excel导出 |
| boolean | 启用PDF导出 |
| string[] | 撤销/重做跟踪的操作 |
| TimelineSettingsModel | 时间轴层级和单位配置 |
| SplitterSettingsModel | 网格/图表面板比例 |
| boolean | 高亮周末列 |
| HolidayModel[] | 标记节假日日期 |
| EventMarkerModel[] | 时间轴上的垂直标记 |
| number | 显示展开/折叠图标的列索引 |
| boolean | 初始加载时折叠所有父行 |
| boolean | 根据任务层级自动生成WBS编码 |
| boolean | CRUD/排序/拖拽后重新计算WBS编码 |
| number | 左侧固定(冻结)的列数 |
| boolean | 每个资源行显示多个任务栏 |
| string | |
| boolean | 显示列级菜单(排序、筛选、自动调整) |
| string[] | 限制显示的列菜单项 |
| boolean | 通过工具栏 |
| boolean | 启用行/单元格选择 |
| SelectionSettingsModel | 选择模式( |
| string | 网格线样式: |
| boolean | 在实际任务栏旁边显示基线栏 |
| string | 基线栏的CSS颜色 |
| boolean | 高亮关键路径任务和连接线 |
| boolean | 启用从右到左布局 |
| string | 区域设置代码(例如 |
| boolean | 启用行拖拽重排/重设层级 |
| boolean | 数据更新时仅重新渲染更改的行(需要 |
| boolean | 将UI状态(排序、筛选、列宽)持久化到localStorage |
| object | 加载动画类型: |
| string[] | 工作日,例如 |
| boolean | 计算持续时间时将周末算作工作日 |
| string | 甘特图的IANA时区(例如 |
| boolean | 在资源视图中高亮过度分配的资源 |
| boolean | 启用撤销/重做跟踪(需注入 |
| number | 最大撤销/重做历史步数(默认:10) |
| boolean | 大数据集的行虚拟化 |
| boolean | 时间轴(水平)虚拟化 |
| number | 统一行高(像素) |
| number | 任务栏高度(像素,必须≤ |
| number | 依赖连接线宽度 |
| string | 依赖连接线颜色 |