这个示例展示了如何使用 轴 的 日期时间刻度模式 (人工和自动)。
注意,当 AxisXBase.DateTimeScaleMode 属性值被设置为 Manual 时,应该人工指定 AxisBase.DateTimeGridAlignment 和 AxisBase.DateTimeMeasureUnit 属性。 当使用任何自动日期时间刻度模式时,可以在特殊的 ChartControl.DateTimeMeasurementUnitsCalculated (WebChartControl.DateTimeMeasurementUnitsCalculated) 事件中获得为这些属性自动计算的值。
因为这些模式属于轴,因此应该把 图象 对象转换为适当的图象类型,以便于在运行时刻访问它们。
为了使此示例正确工作,需要把一个图表控件和一个组合框添加到窗体上,在组合框中列出可用的模式。 在填充图表数据之后,以下列方式接管 comboBox1_SelectedIndexChanged 事件。
C# | 复制代码 |
---|---|
using System; using System.Windows.Forms; using DevExpress.XtraCharts; // ... private void Form1_Load(object sender, EventArgs e) { this.comboBox1.SelectedIndex = 0; } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { switch (comboBox1.SelectedIndex) { case 0: ((XYDiagram)this.chartControl1.Diagram).AxisX.DateTimeScaleMode = DateTimeScaleMode.Manual; ((XYDiagram)this.chartControl1.Diagram).AxisX.DateTimeMeasureUnit = DateTimeMeasurementUnit.Day; ((XYDiagram)this.chartControl1.Diagram).AxisX.DateTimeGridAlignment = DateTimeMeasurementUnit.Day; break; case 1: ((XYDiagram)this.chartControl1.Diagram).AxisX.DateTimeScaleMode = DateTimeScaleMode.AutomaticAverage; break; case 2: ((XYDiagram)this.chartControl1.Diagram).AxisX.DateTimeScaleMode = DateTimeScaleMode.AutomaticIntegral; break; } } |
Visual Basic | 复制代码 |
---|---|
Imports System Imports System.Windows.Forms Imports DevExpress.XtraCharts ' ... Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load Me.comboBox1.SelectedIndex = 0 End Sub Private Sub comboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) _ Handles comboBox1.SelectedIndexChanged Select Case comboBox1.SelectedIndex Case 0 CType(Me.chartControl1.Diagram, XYDiagram).AxisX.DateTimeScaleMode = _ DateTimeScaleMode.Manual CType(Me.chartControl1.Diagram, XYDiagram).AxisX.DateTimeMeasureUnit = _ DateTimeMeasurementUnit.Day CType(Me.chartControl1.Diagram, XYDiagram).AxisX.DateTimeGridAlignment = _ DateTimeMeasurementUnit.Day Case 1 CType(Me.chartControl1.Diagram, XYDiagram).AxisX.DateTimeScaleMode = _ DateTimeScaleMode.AutomaticAverage Case 2 CType(Me.chartControl1.Diagram, XYDiagram).AxisX.DateTimeScaleMode = _ DateTimeScaleMode.AutomaticIntegral End Select End Sub |
Show Me |
---|
在 DevExpress Code Central 数据库中可以找到完整的示例项目,网址是 http://www.devexpress.com/example=E1531。 取决于目标平台类型 (ASP.NET、WinForms 等),可以在线运行本示例,或者下载自动可执行的示例。 |