简体   繁体   English

devexpress xtracharts仅显示日期

[英]devexpress xtracharts showing date only

I have created a devexpress chart (v13.2) which has datetime in x-axis and values in Y-axis. 我创建了一个devexpress图表(v13.2),在x轴上具有日期时间,在Y轴上具有值。

Currently in x axis it shows date like this: 当前在x轴上显示的日期是这样的: 在此处输入图片说明

but i need to show date and time also by default like this: 但我也需要默认显示日期和时间,如下所示: 在此处输入图片说明

Even though the x-axis is coded to fetch datetime from database but still it shows date only not the time. 即使x轴已编码为从数据库中获取日期时间,但仍仅显示日期而不显示时间。 Why? 为什么?

It's two step process show date and time in the scale: 这是两步过程,以刻度显示日期和时间:

  1. Set the Axis.DateTimeOptions.Format property to DateTimeFormat.General . Axis.DateTimeOptions.Format属性设置为DateTimeFormat.General
  2. Then Axis.DateTimeScaleOptions property with custom settings. 然后使用自定义设置的Axis.DateTimeScaleOptions属性。

     (XYDiagram)chartControl1.Diagram).AxisX.DateTimeOptions.Format = DateTimeFormat.General; (XYDiagram)chartControl1.Diagram).AxisX.DateTimeScaleOptions.GridAlignment = DevExpress.XtraCharts.DateTimeGridAlignment.Minute; (XYDiagram)chartControl1.Diagram).AxisX.DateTimeScaleOptions.MeasureUnit = DevExpress.XtraCharts.DateTimeMeasureUnit.Minute; 

Check the below code and configuration for the chart which make me to get the desired results as you want to accomplish: 检查下面的代码和图表配置,这使我能够在想要完成的工作时获得所需的结果:

Form.cs : Form.cs:

public Form1()
{
    InitializeComponent();
    // This line of code is generated by Data Source Configuration Wizard
    chartDataTableAdapter1.Fill(dbDataSet1.ChartData);
}

Designer.cs: Designer.cs:

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
    this.components = new System.ComponentModel.Container();
    DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
    DevExpress.XtraCharts.PointSeriesLabel pointSeriesLabel1 = new DevExpress.XtraCharts.PointSeriesLabel();
    DevExpress.XtraCharts.PointOptions pointOptions1 = new DevExpress.XtraCharts.PointOptions();
    DevExpress.XtraCharts.LineSeriesView lineSeriesView1 = new DevExpress.XtraCharts.LineSeriesView();
    this.chartControl1 = new DevExpress.XtraCharts.ChartControl();
    this.chartDataTableAdapter1 = new ChartTest.DBDataSetTableAdapters.ChartDataTableAdapter();
    this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
    this.dbDataSet1 = new ChartTest.DBDataSet();
    ((System.ComponentModel.ISupportInitialize)(this.chartControl1)).BeginInit();
    ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit();
    ((System.ComponentModel.ISupportInitialize)(pointSeriesLabel1)).BeginInit();
    ((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).BeginInit();
    ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
    ((System.ComponentModel.ISupportInitialize)(this.dbDataSet1)).BeginInit();
    this.SuspendLayout();
    // 
    // chartControl1
    // 
    this.chartControl1.DataAdapter = this.chartDataTableAdapter1;
    this.chartControl1.DataSource = this.bindingSource1;
    xyDiagram1.AxisX.DateTimeScaleOptions.GridAlignment = DevExpress.XtraCharts.DateTimeGridAlignment.Minute;
    xyDiagram1.AxisX.DateTimeScaleOptions.MeasureUnit = DevExpress.XtraCharts.DateTimeMeasureUnit.Minute;
    xyDiagram1.AxisX.Label.DateTimeOptions.Format = DevExpress.XtraCharts.DateTimeFormat.General;
    xyDiagram1.AxisX.Range.AlwaysShowZeroLevel = true;
    xyDiagram1.AxisX.Range.ScrollingRange.SideMarginsEnabled = true;
    xyDiagram1.AxisX.Range.SideMarginsEnabled = true;
    xyDiagram1.AxisX.VisibleInPanesSerializable = "-1";
    xyDiagram1.AxisY.Range.AlwaysShowZeroLevel = true;
    xyDiagram1.AxisY.Range.ScrollingRange.SideMarginsEnabled = true;
    xyDiagram1.AxisY.Range.SideMarginsEnabled = true;
    xyDiagram1.AxisY.VisibleInPanesSerializable = "-1";
    this.chartControl1.Diagram = xyDiagram1;
    this.chartControl1.Dock = System.Windows.Forms.DockStyle.Fill;
    this.chartControl1.Legend.Visible = false;
    this.chartControl1.Location = new System.Drawing.Point(0, 0);
    this.chartControl1.Name = "chartControl1";
    this.chartControl1.SeriesDataMember = "VariableName";
    this.chartControl1.SeriesSerializable = new DevExpress.XtraCharts.Series[0];
    this.chartControl1.SeriesTemplate.ArgumentDataMember = "LastTime";
    this.chartControl1.SeriesTemplate.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.DateTime;
    pointSeriesLabel1.LineVisible = true;
    pointOptions1.ArgumentDateTimeOptions.Format = DevExpress.XtraCharts.DateTimeFormat.General;
    pointSeriesLabel1.PointOptions = pointOptions1;
    this.chartControl1.SeriesTemplate.Label = pointSeriesLabel1;
    this.chartControl1.SeriesTemplate.ValueDataMembersSerializable = "LastValue";
    this.chartControl1.SeriesTemplate.View = lineSeriesView1;
    this.chartControl1.Size = new System.Drawing.Size(284, 262);
    this.chartControl1.TabIndex = 0;
    // 
    // chartDataTableAdapter1
    // 
    this.chartDataTableAdapter1.ClearBeforeFill = true;
    // 
    // bindingSource1
    // 
    this.bindingSource1.DataMember = "ChartData";
    this.bindingSource1.DataSource = this.dbDataSet1;
    this.bindingSource1.Sort = "";
    // 
    // dbDataSet1
    // 
    this.dbDataSet1.DataSetName = "DBDataSet";
    this.dbDataSet1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
    // 
    // Form1
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(284, 262);
    this.Controls.Add(this.chartControl1);
    this.Name = "Form1";
    this.Text = "Form1";
    ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit();
    ((System.ComponentModel.ISupportInitialize)(pointSeriesLabel1)).EndInit();
    ((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).EndInit();
    ((System.ComponentModel.ISupportInitialize)(this.chartControl1)).EndInit();
    ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
    ((System.ComponentModel.ISupportInitialize)(this.dbDataSet1)).EndInit();
    this.ResumeLayout(false);

}

#endregion

private DevExpress.XtraCharts.ChartControl chartControl1;
private DBDataSetTableAdapters.ChartDataTableAdapter chartDataTableAdapter1;
private System.Windows.Forms.BindingSource bindingSource1;
private DBDataSet dbDataSet1;

Chart data: 图表数据:
在此处输入图片说明

Result: 结果: 在此处输入图片说明

尝试使用Axis.DateTimeOptions属性并设置适当的DateTimeFormat值:

((XYDiagram)chartControl1.Diagram).AxisX.DateTimeOptions.Format = DateTimeFormat.General;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM