1

dropdown我正在制作一个图表,该图表将显示从列表中选择的可变时间段内的出勤率。我正在尝试根据所选值更改 x 轴的间隔。我使用了 MSDN 的图表控件教程中的代码,但问题是当我选择下拉项时,我只能得到一两个间隔。

当我选择 1(1 个月)时,我会从最小日期 10/14 开始得到一个间隔。当我选择 3(3 个月)时,我应该得到几个两周的间隔,但我只得到 2 个月的间隔。

有人可以帮我弄清楚为什么我会得到这些结果以及如何解决它吗?

下面的代码显示了我到目前为止在下拉列表的事件处理程序中的内容:

public void AttendanceChange(Object sender, EventArgs e){
        string StatusSelect = this.AttendanceSelect.SelectedValue;
    int Time = Convert.ToInt32(StatusSelect);

    if (Time == 1)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 1, DateTimeIntervalType.Weeks);
    else if (Time == 3)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 1, DateTimeIntervalType.Weeks);
    else if (Time == 6)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 1, DateTimeIntervalType.Months);
    else if (Time == 12)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 2, DateTimeIntervalType.Months);
    else if (Time == 24)
        SetAxisInterval(Chart3.ChartAreas[0].AxisX, 3, DateTimeIntervalType.Months);
}

以下是更改间隔的方法:

public void SetAxisInterval(Axis axis, int interval, DateTimeIntervalType intervalType)
{
    axis.Interval = interval;
    axis.IntervalType = intervalType;
}
4

1 回答 1

0

这里的问题与加载的每个日期都被计为一周中的一天而不是一周本身这一事实有关。我正在这篇文章中寻找这个问题的答案:.Net Chart display dates as days in a week

于 2012-11-28T20:56:36.517 回答