【问题标题】:C# How to use OADate to convert dates from database?C# 如何使用 OADate 转换数据库中的日期?
【发布时间】:2016-12-01 20:08:24
【问题描述】:

我有一个日期和股票价格的数据库表。根据文章,我将它绑定到 WinForm Chart 控件。 https://msdn.microsoft.com/en-us/library/dd489231(v=vs.110).aspx

我想将最高数据点标记为这篇文章。 https://msdn.microsoft.com/en-us/library/dd456612(v=vs.110).aspx

// Get relative coordinates of the data point
System.Drawing.PointF pos = System.Drawing.PointF.Empty;
pos.X = (float)cg.GetPositionFromAxis("ChartArea1", AxisName.X, i);
pos.Y = (float)cg.GetPositionFromAxis("ChartArea1", AxisName.Y, max);

// Convert relative coordinates to absolute coordinates.
os = cg.GetAbsolutePoint(pos);

由于 X 轴是日期时间值,我得到 pos.X = -99845。我认为我应该使用 OADate 作为文章。 https://msdn.microsoft.com/en-us/library/dd456614(v=vs.110).aspx 但是我还没有想出绑定源的方法。

【问题讨论】:

  • 你应该显示你目前拥有的代码。

标签: c# date charts binding


【解决方案1】:

我发现我应该使用该点的 X 值而不是我喜欢的那个教程示例中的索引。

private void chart_PostPaint(object sender, ChartPaintEventArgs e)
{
    if (e.ChartElement is Series && ((Series)e.ChartElement).Name == "Series3")
    {
        Series s = e.Chart.Series[0];
        ChartGraphics cg = e.ChartGraphics;
        double max = s.Points.FindMaxByValue().YValues[0];

        for (int i = 0; i < s.Points.Count; i++)
        {
            if (s.Points[i].YValues[0] == max)
            {
                PointF pos = PointF.Empty;
                pos.X = (float)cg.GetPositionFromAxis("ChartArea1", AxisName.X, s.Points[i].XValue);
                pos.Y = (float)cg.GetPositionFromAxis("ChartArea1", AxisName.Y, max);

                pos = cg.GetAbsolutePoint(pos);

                for (int r = 10; r < 40; r+=10)
                {
                    cg.Graphics.DrawEllipse(
                        Pens.Red,
                        pos.X - r / 2,
                        pos.Y - r / 2,
                        r, r);
                }
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多