corelibraries-devexpress-dot-xtracharts-2ffe343d.md
Represents a series view of the Side-by-Side Gantt type.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
public class SideBySideGanttSeriesView :
GanttSeriesView,
ISideBySideBarSeriesView,
IBarSeriesView
Public Class SideBySideGanttSeriesView
Inherits GanttSeriesView
Implements ISideBySideBarSeriesView,
IBarSeriesView
The SideBySideGanttSeriesView class provides the functionality of a series view for the side-by-side Gantt type within a chart control.
The SideBySideGanttSeriesView class inherits properties and methods from the base GanttSeriesView class which defines the common settings of Gantt series views.
Note that a particular view type can be defined for a series via its SeriesBase.View property.
For more information on series views of the side-by-side Gantt type please see the Side-by-Side Gantt Chart topic.
The following example demonstrates how to create a ChartControl with two series of the SideBySideGanttSeriesView type, and add this chart to a form at runtime. Before proceeding with this example, first create a Windows Forms Application in Visual Studio, and include all necessary assemblies to the References list of your project.
Then, add the following code to the Form.Load event handler.
using System;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...
private void Form1_Load(object sender, EventArgs e) {
// Create a new chart.
ChartControl ganttChart = new ChartControl();
// Create two Gantt series.
Series series1 = new Series("Estimation", ViewType.SideBySideGantt);
Series series2 = new Series("Implementation", ViewType.SideBySideGantt);
// Specify the date-time value scale type,
// because it is qualitative by default.
series1.ValueScaleType = ScaleType.DateTime;
series2.ValueScaleType = ScaleType.DateTime;
// Add points to them.
series1.Points.Add(new SeriesPoint("Task 1", new DateTime[] {
new DateTime(2006, 8, 16), new DateTime(2006, 8, 31) }));
series1.Points.Add(new SeriesPoint("Task 2", new DateTime[] {
new DateTime(2006, 8, 31), new DateTime(2006, 9, 15) }));
series1.Points.Add(new SeriesPoint("Task 3", new DateTime[] {
new DateTime(2006, 9, 15), new DateTime(2006, 9, 30) }));
series1.Points.Add(new SeriesPoint("Task 4", new DateTime[] {
new DateTime(2006, 9, 30), new DateTime(2006, 10, 15) }));
series2.Points.Add(new SeriesPoint("Task 1", new DateTime[] {
new DateTime(2006, 8, 16), new DateTime(2006, 9, 5) }));
series2.Points.Add(new SeriesPoint("Task 2", new DateTime[] {
new DateTime(2006, 9, 5), new DateTime(2006, 9, 22) }));
series2.Points.Add(new SeriesPoint("Task 3", new DateTime[] {
new DateTime(2006, 9, 22), new DateTime(2006, 10, 10) }));
series2.Points.Add(new SeriesPoint("Task 4", new DateTime[] {
new DateTime(2006, 10, 10), new DateTime(2006, 10, 23) }));
// Add both series to the chart.
ganttChart.Series.AddRange(new Series[] { series1, series2});
// Access the view-type-specific options of the second series.
SideBySideGanttSeriesView myView2 = (SideBySideGanttSeriesView)series2.View;
myView2.MaxValueMarker.Visible = true;
myView2.MaxValueMarker.Kind = MarkerKind.Star;
myView2.MaxValueMarker.StarPointCount = 5;
myView2.MaxValueMarker.Size = 10;
myView2.MinValueMarker.Visible = true;
myView2.MinValueMarker.Kind = MarkerKind.Circle;
myView2.MinValueMarker.Size = 10;
myView2.BarWidth = 0.5;
// Customize the chart (if necessary).
GanttDiagram myDiagram = (GanttDiagram)ganttChart.Diagram;
myDiagram.AxisX.Title.Visible = true;
myDiagram.AxisX.Title.Text = "Tasks";
myDiagram.AxisY.Interlaced = true;
myDiagram.AxisY.GridSpacing = 10;
myDiagram.AxisY.Label.Angle = -30;
myDiagram.AxisY.DateTimeOptions.Format = DateTimeFormat.MonthAndDay;
// Customize the legend (if necessary).
ganttChart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;
ganttChart.Legend.AlignmentVertical = LegendAlignmentVertical.TopOutside;
ganttChart.Legend.Direction = LegendDirection.LeftToRight;
// Add a constant line.
ConstantLine deadline = new ConstantLine("Deadline", new DateTime(2006, 10, 15));
deadline.ShowInLegend = false;
deadline.Title.Alignment = ConstantLineTitleAlignment.Far;
deadline.Color = Color.Red;
myDiagram.AxisY.ConstantLines.Add(deadline);
// Add a title to the chart (if necessary).
ganttChart.Titles.Add(new ChartTitle());
ganttChart.Titles[0].Text = "A Side-by-Side Gantt Chart";
// Add the chart to the form.
ganttChart.Dock = DockStyle.Fill;
this.Controls.Add(ganttChart);
}
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
' ...
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As EventArgs) Handles MyBase.Load
' Create a new chart.
Dim ganttChart As New ChartControl()
' Create two Gantt series.
Dim series1 As New Series("Estimation", ViewType.SideBySideGantt)
Dim series2 As New Series("Implementation", ViewType.SideBySideGantt)
' Specify the date-time value scale type,
' because it is qualitative by default.
series1.ValueScaleType = ScaleType.DateTime
series2.ValueScaleType = ScaleType.DateTime
' Add points to them.
series1.Points.Add(New SeriesPoint("Task 1", New DateTime() _
{ New DateTime(2006, 8, 16), New DateTime(2006, 8, 31) }))
series1.Points.Add(New SeriesPoint("Task 2", New DateTime() _
{ New DateTime(2006, 8, 31), New DateTime(2006, 9, 15) }))
series1.Points.Add(New SeriesPoint("Task 3", New DateTime() _
{ New DateTime(2006, 9, 15), New DateTime(2006, 9, 30) }))
series1.Points.Add(New SeriesPoint("Task 4", New DateTime() _
{ New DateTime(2006, 9, 30), New DateTime(2006, 10, 15) }))
series2.Points.Add(New SeriesPoint("Task 1", New DateTime() _
{ New DateTime(2006, 8, 16), New DateTime(2006, 9, 5) }))
series2.Points.Add(New SeriesPoint("Task 2", New DateTime() _
{ New DateTime(2006, 9, 5), New DateTime(2006, 9, 22) }))
series2.Points.Add(New SeriesPoint("Task 3", New DateTime() _
{ New DateTime(2006, 9, 22), New DateTime(2006, 10, 10) }))
series2.Points.Add(New SeriesPoint("Task 4", New DateTime() _
{ New DateTime(2006, 10, 10), New DateTime(2006, 10, 23) }))
' Add both series to the chart.
ganttChart.Series.AddRange(New Series() { series1, series2})
' Access the view-type-specific options of the second series.
Dim myView2 As SideBySideGanttSeriesView = _
CType(series2.View, SideBySideGanttSeriesView)
myView2.MaxValueMarker.Visible = True
myView2.MaxValueMarker.Kind = MarkerKind.Star
myView2.MaxValueMarker.StarPointCount = 5
myView2.MaxValueMarker.Size = 10
myView2.MinValueMarker.Visible = True
myView2.MinValueMarker.Kind = MarkerKind.Circle
myView2.MinValueMarker.Size = 10
myView2.BarWidth = 0.5
' Customize the chart (if necessary).
Dim myDiagram As GanttDiagram = CType(ganttChart.Diagram, GanttDiagram)
myDiagram.AxisX.Title.Visible = True
myDiagram.AxisX.Title.Text = "Tasks"
myDiagram.AxisY.Interlaced = True
myDiagram.AxisY.GridSpacing = 10
myDiagram.AxisY.Label.Angle = -30
myDiagram.AxisY.DateTimeOptions.Format = DateTimeFormat.MonthAndDay
' Customize the legend (if necessary).
ganttChart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right
ganttChart.Legend.AlignmentVertical = LegendAlignmentVertical.TopOutside
ganttChart.Legend.Direction = LegendDirection.LeftToRight
' Add a constant line.
Dim deadline As New ConstantLine("Deadline", New DateTime(2006, 10, 15))
deadline.ShowInLegend = False
deadline.Title.Alignment = ConstantLineTitleAlignment.Far
deadline.Color = Color.Red
myDiagram.AxisY.ConstantLines.Add(deadline)
' Add a title to the chart (if necessary).
ganttChart.Titles.Add(New ChartTitle())
ganttChart.Titles(0).Text = "A Side-by-Side Gantt Chart"
' Add the chart to the form.
ganttChart.Dock = DockStyle.Fill
Me.Controls.Add(ganttChart)
End Sub
IXtraSupportDeserializeCollectionItem
Object ChartElement SeriesViewBase XYDiagram2DSeriesViewBase XYDiagramSeriesViewBase SeriesViewColorEachSupportBase BarSeriesView RangeBarSeriesView GanttSeriesView SideBySideGanttSeriesView
See Also
SideBySideGanttSeriesView Members