I'm making a chart that will show attendance over a variable amount of time selected from a dropdown
list. I'm trying to change the intervals of the x axis based on the selected value. I used code from MSDN's chart controls tutorial, but the problem is that when I select the dropdown items, I only get one or two intervals.
When I select 1 (1 month), I get one interval starting at 10/14, the minimum date. When I select 3 (3 months), I should get several two-week intervals, but instead I only get 2 month-long intervals.
Can someone help me figure out why I'm getting those results and how I can fix it?
The code below shows what I have so far in the event handler for the dropdown list:
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);
}
Here is the method to change the intervals:
public void SetAxisInterval(Axis axis, int interval, DateTimeIntervalType intervalType)
{
axis.Interval = interval;
axis.IntervalType = intervalType;
}