【问题标题】:MS chart control + XValue member as Time in AM PM formatMS 图表控件 + XValue 成员作为 AM PM 格式的时间
【发布时间】:2012-06-24 07:49:19
【问题描述】:

我有一个来自 DB 的结果集,它有两列 - 1. 上午/下午的时间从上午 1 点到 12 点开始,然后是下午 1 点到 12 点,还有 2. 一些计数。

我在我的页面上显示一个折线图并绑定 XValueMembers = 我的时间列(在上午 / 下午有时间)和 YValueMembers - 计数。

问题是图表控件会自动在 X 轴上对值进行分组,所以我只能看到值 - 1 到 12。实际上,由于 AM / PM 格式,结果集的每个数字从 1 到 12 重复了两次。

如何在 X 轴上显示 1 - 12 AM 和 1 - 12 PM 的所有值而不进行任何分组。

【问题讨论】:

    标签: mschart


    【解决方案1】:

    如果您的数据库结果是整数,我建议您创建DateTime 对象。

    您可以将它们用作 X 轴值并格式化轴标签。例如:

    DateTime dateTime1 = new DateTime(2013, 01, 01);
    DateTime dateTime2 = new DateTime(2013, 01, 02);
    DateTime dateTime3 = new DateTime(2013, 01, 03);
    
    DateTime[] xValues = new DateTime[3] { dateTime1, dateTime2, dateTime3 };
    int[] yValues = new int[3] { 0, 1, 2 };
    
    chart.Series[0] = new Series();
    chart.Series[0].Points.DataBindXY(xValues, yValues);
    
    chart.ChartAreas[0].AxisX.LabelStyle.Format = "MMMM dd, yyyy - hh:mm tt";
    

    请注意,在这种情况下,tt 代表 AM/PM 指示符。

    您可以找到其他自定义日期和时间字符串格式here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      相关资源
      最近更新 更多