TreeGrid Gantt Chart Tutorial
1. Main bar and Milestone
Main planned task definition possibilities
The example shows also different box moving / resizing by left / right mouse button and with and without ctrl
-
Continuous main bar
By default is main bar set by GanttStart
and GanttEnd
or GanttDuration
.
If defined both columns end and duration, the third value is always calculated according to the two.
If set GanttEndLast='1', the end date is increased by one GanttDataUnits, the GanttEnd means the last unit in this case.
-
Milestone is created when set only GanttStart or GanttEnd or GanttDuration is 0.
There is difference between start milestone and end milestone. The end milestone is affected by GanttEndLast
and also if the milestone is set within excluded range, the end milestone is shown before the range and start milestone after the range.
The milestone has only two states: complete (GanttComplete=100) and incomplete.
-
Task percentage completion is set by GanttComplete attribute in range 0 - 100.
-
The main bar can show icons on its sides just for visual effect, set by GanttIcons.
-
Tooltip for the bar is set by GanttText and the tooltip format or other text is set by GanttMainTip and GanttMilestoneTip.
-
Discrete main bar by Flow
By GanttFlow
range attribute with GanttFlowComplete
attribute set can be shown discrete main bar.
The task is splitted to one or more separated parts that can be individually created, moved, resized and deleted.
-
Dependencies are attached always for the whole task, like it is continuous.
To support dependencies and other calculations there must be set GanttObject='Flow'.
-
Milestone is created when set only one bound date in range and the separator is shown.
Like "1/1/2000~" is start milestone, "~1/1/2000" is end milestone and "1/1/2000" is standard bar part one unit wide.
There can be more milestones in one task and also can be mixed with other bar parts.
The milestone has only two states: complete (GanttFlowComplete=100) and incomplete.
-
Task percentage completion is set by GanttFlowComplete attribute in range 0 - 100.
The completion is computed for whole task.
-
By default can be parts resized and moved everywhere and after the change are overflowed and adjacent parts joined to one part.
If set GanttFlowJoin='0', the flow can contain adjacent parts and the parts cannot be resized or moved through another part.
In this case should be the popup calendar for the flow disabled by ...Button="", because it does not support the adjacent ranges.
-
Tooltip can be set for the whole task by GanttFlowText and the tooltip format or other text is set by GanttFlowTip.
-
Opposite to continuous main bar the Flow main bar cannot be used with Real Flow bars and also don't support side icons.
-
Complex extended main bar by Run
The Run boxes defined GanttRun
can be also used to display main bars.
-
The Run bar supports all features of main bar except it ignores late start and early end constraints (the early start and late end constraints are supported).
-
The Run bar supports also Start, End and Duration cells to show and change the whole task dates.
They are set by GanttRunStart, GanttRunEnd, GanttRunDuration.
These cells are expected to be empty, the data are read from and saved to GanttRun and optionally GanttRunStart.
-
The Run bar percent completion is set by
GanttRunComplete
.
-
Dependencies are attached always for the whole task, like it is continuous.
To support dependencies and other calculations there must be set GanttObject='Run'.
-
The Run bar supports many extended features like text, tooltip, class, color for individual boxes.
It supports also internal constraints for every box, like not resizable (box type Solid) or not movable (Fixed) boxes.
-
The Run bar supports also milestones as zero width task (Milestone type box).
One Run task can contain more milestones, every milestone can have also its custom icon.
Also fixed (not movable) milestones are supported (Stop type box).
-
There are many settings for moving and resizing the individual run boxes.
It is also possible to merge overflowed boxes or let them mark as error.
-
The individual boxes can have set also its id and group id and can be referred and manipulated by these ids.
There is also many API methods to manipulate the individual boxes.