GanttControl.CustomTaskDisplayText Event
Allows you to specify the caption displayed inside, to the left, and to the right of a task.
Namespace: DevExpress.XtraGantt
Assembly: DevExpress.XtraGantt.v20.2.dll
NuGet Package: DevExpress.Win.Gantt
Declaration
[DXCategory("Events")]
public event CustomTaskDisplayTextEventHandler CustomTaskDisplayText
Event Data
The CustomTaskDisplayText event's data class is CustomTaskDisplayTextEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
InsideText | Gets or sets the text displayed inside the task’s bar. This property is not in effect for summary tasks and milestones. |
LeftText | Gets or sets the text displayed to the left of the task’s bar. |
Node | Gets the processed node. |
RightText | Gets or sets the text displayed to the right of the task’s bar. |
TaskInfo | Provides access to view information about the task. |
Remarks
The GanttControl.ChartMappings property provides access to data fields mapped to task properties that specify how a task is displayed in the chart area. The TextFieldName property specifies the data field that contains task captions.
The caption is displayed next to the task in the chart area. To obtain a task’s caption in code, you can use the GetText(GanttControlNode), GetText(Int32), and GetText() methods.
You can also handle the CustomTaskDisplayText
event, which fires before a task is displayed, to specify a caption dynamically.
A task’s caption can also be displayed in interaction tooltips. You can use the InteractionTooltipTextFieldName property to specify the data field that contains task captions for tooltips. To obtain a task’s tooltip caption in code, use the GetTooltipText(Int32) method.
Example
The code below shows how to display captions to the left and to the right of the bars.
HashSet<int> criticalPathIds = new HashSet<int> { 1, 2, 3, 6, 7, 8, 10, 11, 13 };
ganttControl.CustomTaskDisplayText += (sender, e) => {
int taskId = Convert.ToInt32(e.Node.GetValue("Id"));
if(criticalPathIds.Contains(taskId)) {
e.RightText = "High priority";
}
else {
e.RightText = string.Empty;
e.LeftText = "Normal priority";
}
};
Note
Run the Gantt Code Examples demo to see the complete example.