Back to Devexpress

DateTimeOptions.Format Property

corelibraries-devexpress-dot-xtracharts-dot-datetimeoptions.md

latest10.2 KB
Original Source

DateTimeOptions.Format Property

Gets or sets a value that specifies the form of date-time values’ representation.

Namespace : DevExpress.XtraCharts

Assembly : DevExpress.XtraCharts.v25.2.dll

NuGet Package : DevExpress.Charts

Declaration

csharp
public DateTimeFormat Format { get; set; }
vb
Public Property Format As DateTimeFormat

Property Value

TypeDescription
DateTimeFormat

A DateTimeFormat enumeration value.

|

Available values:

NameDescription
ShortDate

Displays a date using the short-date format specified in your computer’s regional settings.

| | LongDate |

Displays a date using the long-date format specified in your computer’s regional settings.

| | ShortTime |

Displays a time using the short-time format specified in your computer’s regional settings.

| | LongTime |

Displays a time using the long-time format specified in your computer’s regional settings.

| | General |

Displays a date and time using the general date-time settings determined by your computer’s regional settings.

| | MonthAndDay |

Displays a date as a month name and day number using your computer’s regional settings (e.g., February 11 ).

| | MonthAndYear |

Displays a date as a month name and year number using your computer’s regional settings (e.g., February, 2006 ).

| | QuarterAndYear |

Displays a date as a quarter value and year number using your computer’s regional settings (e.g., Q2 2006 ).

Note that you can apply formatting to the quarter’s value. To do this, set the DateTimeOptions.Format property to Custom , and define one of the following values for the DateTimeOptions.FormatString property:

q - Changes format to Roman numerals (e.g., IV );

qq - Changes format to Roman numerals with the Q prefix (e.g., QIV );

Q - Changes format to Arabic numerals (e.g., 4 );

QQ - Changes format to Arabic numerals with the Q prefix (e.g., Q4 ).

| | Custom |

The format string specified by the DateTimeOptions.FormatString property will be applied.

|

Remarks

Use the Format property, to define the appropriate format for date-time values representation in the axis labels, series point labels or in the legend.

Example

The following example demonstrates how to create a ChartControl with two series of the OverlappedGanttSeriesView 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.

csharp
using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...

private void Form1_Load(object sender, EventArgs e) {
    // Create a new chart.
    ChartControl overlappedGanttChart = new ChartControl();

    // Create two Gantt series.
    Series series1 = new Series("Planned", ViewType.Gantt);
    Series series2 = new Series("Completed", ViewType.Gantt);

    // Set the date-time values scale type for both series,
    // as it is qualitative, by default.
    series1.ValueScaleType = ScaleType.DateTime;
    series2.ValueScaleType = ScaleType.DateTime;

    // Add points to them.
    series1.Points.Add(new SeriesPoint("Market analysis", new DateTime[] { 
    new DateTime(2006, 8, 16), new DateTime(2006, 8, 23) }));
    series1.Points.Add(new SeriesPoint("Feature planning", new DateTime[] { 
    new DateTime(2006, 8, 23), new DateTime(2006, 8, 26) }));
    series1.Points.Add(new SeriesPoint("Implementation", new DateTime[] { 
    new DateTime(2006, 8, 26), new DateTime(2006, 9, 26) }));
    series1.Points.Add(new SeriesPoint("Testing & bug fixing", new DateTime[] { 
    new DateTime(2006, 9, 26), new DateTime(2006, 10, 10) }));

    series2.Points.Add(new SeriesPoint("Market analysis", new DateTime[] { 
    new DateTime(2006, 8, 16), new DateTime(2006, 8, 23) }));
    series2.Points.Add(new SeriesPoint("Feature planning", new DateTime[] { 
    new DateTime(2006, 8, 23), new DateTime(2006, 8, 26) }));
    series2.Points.Add(new SeriesPoint("Implementation", new DateTime[] { 
    new DateTime(2006, 8, 26), new DateTime(2006, 9, 10) }));

    // Add both series to the chart.
    overlappedGanttChart.Series.AddRange(new Series[] { series1, series2 });

    // Access the view-type-specific options of the series.
    ((GanttSeriesView)series1.View).BarWidth = 0.6;
    ((GanttSeriesView)series2.View).BarWidth = 0.3;

    // Access the type-specific options of the diagram.
    GanttDiagram myDiagram = (GanttDiagram)overlappedGanttChart.Diagram;

    myDiagram.AxisY.Interlaced = true;
    myDiagram.AxisY.GridSpacing = 10;
    myDiagram.AxisY.Label.Angle = -30;
    myDiagram.AxisY.DateTimeOptions.Format = DateTimeFormat.MonthAndDay;

    // Add task links for the first Gantt series.
    ((GanttSeriesView)series1.View).LinkOptions.ArrowHeight = 7;
    ((GanttSeriesView)series1.View).LinkOptions.ArrowWidth = 11;
    for (int i = 1; i < series1.Points.Count; i++) {
        series1.Points[i].Relations.Add(series1.Points[i - 1]);
    }

    // Add a progress line.
    ConstantLine progress =
    new ConstantLine("Current progress", new DateTime(2006, 9, 10));
    progress.ShowInLegend = false;
    progress.Title.Alignment = ConstantLineTitleAlignment.Far;
    myDiagram.AxisY.ConstantLines.Add(progress);

    // Adjust the legend.
    overlappedGanttChart.Legend.AlignmentHorizontal = 
        LegendAlignmentHorizontal.Right;

    // Add a title to the chart (if necessary).
    overlappedGanttChart.Titles.Add(new ChartTitle());
    overlappedGanttChart.Titles[0].Text = "R&amp;D Schedule";

    // Add the chart to the form.
    overlappedGanttChart.Dock = DockStyle.Fill;
    this.Controls.Add(overlappedGanttChart);
 }
vb
Imports System
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 overlappedGanttChart As New ChartControl()

    ' Create two Gantt series.
    Dim series1 As New Series("Planned", ViewType.Gantt)
    Dim series2 As New Series("Completed", ViewType.Gantt)

    ' Set the date-time values scale type for both series,
    ' as it is qualitative, by default.
    series1.ValueScaleType = ScaleType.DateTime
    series2.ValueScaleType = ScaleType.DateTime

    ' Add points to them.
    series1.Points.Add(New SeriesPoint("Market analysis", _ 
New DateTime() { New DateTime(2006, 8, 16), New DateTime(2006, 8, 23) }))
    series1.Points.Add(New SeriesPoint("Feature planning", _ 
New DateTime() { New DateTime(2006, 8, 23), New DateTime(2006, 8, 26) }))
    series1.Points.Add(New SeriesPoint("Implementation", _ 
New DateTime() { New DateTime(2006, 8, 26), New DateTime(2006, 9, 26) }))
    series1.Points.Add(New SeriesPoint("Testing & bug fixing", _ 
New DateTime() { New DateTime(2006, 9, 26), New DateTime(2006, 10, 10) }))

    series2.Points.Add(New SeriesPoint("Market analysis", _ 
New DateTime() { New DateTime(2006, 8, 16), New DateTime(2006, 8, 23) }))
    series2.Points.Add(New SeriesPoint("Feature planning", _ 
New DateTime() { New DateTime(2006, 8, 23), New DateTime(2006, 8, 26) }))
    series2.Points.Add(New SeriesPoint("Implementation", _ 
New DateTime() { New DateTime(2006, 8, 26), New DateTime(2006, 9, 10) }))

    ' Add both series to the chart.
    overlappedGanttChart.Series.AddRange(New Series() { series1, series2 })

    ' Access the view-type-specific options of the series.
    CType(series1.View, GanttSeriesView).BarWidth = 0.6
    CType(series2.View, GanttSeriesView).BarWidth = 0.3

    ' Access the type-specific options of the diagram.
    Dim myDiagram As GanttDiagram = CType(overlappedGanttChart.Diagram, GanttDiagram)

    myDiagram.AxisY.Interlaced = True
    myDiagram.AxisY.GridSpacing = 10
    myDiagram.AxisY.Label.Angle = -30
    myDiagram.AxisY.DateTimeOptions.Format = DateTimeFormat.MonthAndDay

    ' Add task links for the first Gantt series.
    CType(series1.View, GanttSeriesView).LinkOptions.ArrowHeight = 7
    CType(series1.View, GanttSeriesView).LinkOptions.ArrowWidth = 11
    For i As Integer = 1 To series1.Points.Count - 1
    series1.Points(i).Relations.Add(series1.Points(i - 1))
    Next i

    ' Add a progress line.
    Dim progress As New ConstantLine("Current progress", New DateTime(2006, 9, 10))
    progress.ShowInLegend = False
    progress.Title.Alignment = ConstantLineTitleAlignment.Far
    myDiagram.AxisY.ConstantLines.Add(progress)

    ' Adjust the legend.
    overlappedGanttChart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right

    ' Add a title to the chart (if necessary).
    overlappedGanttChart.Titles.Add(New ChartTitle())
    overlappedGanttChart.Titles(0).Text = "R&amp;D Schedule"

    ' Add the chart to the form.
    overlappedGanttChart.Dock = DockStyle.Fill
    Me.Controls.Add(overlappedGanttChart)
End Sub

See Also

FormatString

DateTimeOptions Class

DateTimeOptions Members

DevExpress.XtraCharts Namespace