Edit this page

TextView item formatting

RadGanttView offers two events for formatting the text view part. The TextViewItemFormatting event is fired for each item (row) and the TextViewCellFormatting is fired for every cell.

Here is an example demonstrating how to use the event to make all summary items have a green back color and all tasks a yellow one.

private void radGanttView1_TextViewItemFormatting(object sender, GanttViewTextViewItemFormattingEventArgs e)
{
    if (e.Item.Items.Count > 0)
    {
        e.ItemElement.DrawFill = true;
        e.ItemElement.BackColor = Color.LightGreen;
        e.ItemElement.GradientStyle = GradientStyles.Solid;
    }
    else if (e.Item.Start != e.Item.End)
    {
        e.ItemElement.DrawFill = true;
        e.ItemElement.BackColor = Color.Yellow;
        e.ItemElement.GradientStyle = GradientStyles.Solid;
    }
    else
    {
        e.ItemElement.ResetValue(LightVisualElement.DrawBorderProperty, ValueResetFlags.Local);
        e.ItemElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local);
        e.ItemElement.ResetValue(LightVisualElement.GradientStyleProperty, ValueResetFlags.Local);
    }
}

Private Sub radGanttView1_TextViewItemFormatting(sender As Object, e As GanttViewTextViewItemFormattingEventArgs)
    If (e.Item.Items.Count > 0) Then
        e.ItemElement.DrawFill = True
        e.ItemElement.BackColor = Color.LightGreen
        e.ItemElement.GradientStyle = GradientStyles.Solid
    ElseIf (e.Item.Start <> e.Item.End) Then
        e.ItemElement.DrawFill = True
        e.ItemElement.BackColor = Color.Yellow
        e.ItemElement.GradientStyle = GradientStyles.Solid
    Else
        e.ItemElement.ResetValue(LightVisualElement.DrawBorderProperty, ValueResetFlags.Local)
        e.ItemElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local)
        e.ItemElement.ResetValue(LightVisualElement.GradientStyleProperty, ValueResetFlags.Local)
    End If
End Sub

ganttview-formatting-textviewitem-cellformatting 001

Another example showing how to change the fore color of the cells in the Title column for all types of tasks that start on an even day of the month.

private void radGanttView1_TextViewCellFormatting(object sender, GanttViewTextViewCellFormattingEventArgs e)
{
    if (e.Item.Start.Day % 2 == 0 && e.Column.Name == "Title")
    {
        e.CellElement.ForeColor = Color.Red;
    }
    else
    {
        e.CellElement.ResetValue(LightVisualElement.ForeColorProperty, ValueResetFlags.Local);
    }
}

Private Sub radGanttView1_TextViewCellFormatting(sender As Object, e As GanttViewTextViewCellFormattingEventArgs)
    If (e.Item.Start.Day Mod 2 = 0 AndAlso e.Column.Name = "Title") Then
        e.CellElement.ForeColor = Color.Red
    Else
        e.CellElement.ResetValue(LightVisualElement.ForeColorProperty, ValueResetFlags.Local)
    End If
End Sub

ganttview-formatting-textviewitem-cellformatting 002

See Also