我有以下数据(来自数据库):
这些存储在存储在列表中的对象中:
用于创建图表系列我创建了以下功能:
public void CreateSeries(DateTime seriesTime)
{
while (true)
{
if (seriesTime.Date > _stopDate.Date) return;
foreach (var data in _datalist)
{
var currentData = (Email)data;
String xLabel;
switch (_timeType)
{
case DateUtils.TimeType.Weeks:
xLabel = seriesTime.Date.ToString("dd");
break;
case DateUtils.TimeType.Months:
xLabel = seriesTime.Date.ToString("MM");
break;
case DateUtils.TimeType.Years:
xLabel = seriesTime.Date.ToString("yyyy");
break;
default:
xLabel = seriesTime.Date.ToString("dd");
break;
}
AddData(currentData, xLabel);
}
if (DateConverter.GetDaysBetween(seriesTime, _stopDate) >= 0)
{
seriesTime = AppendDays(seriesTime);
continue;
}
break;
}
}
protected DateTime AppendDays(DateTime initialDateTime)
{
switch (_timeType)
{
case DateUtils.TimeType.Weeks:
initialDateTime = initialDateTime.AddDays(7);
break;
case DateUtils.TimeType.Months:
initialDateTime = initialDateTime.AddMonths(1);
break;
case DateUtils.TimeType.Years:
initialDateTime = initialDateTime.AddYears(1);
break;
default:
initialDateTime = initialDateTime.AddDays(1);
break;
}
return initialDateTime;
}
所有这些都没有任何问题。
然后当添加该系列时,我在Form类中使用以下循环:
List<Series> chart = ((EmailModel)_controller.GetFactory().GetModel("Email")).GetEmailChart(from, to, current_timetype);
test_chart.Series.Clear();
foreach (Series s in chart)
{
test_chart.Series.Add(s);
}
产生以下图表:
如果你仔细观察,你会发现它重复了7次数据。
我只是不知道问题所在。
谁能告诉我我做错了什么?
请告诉我,如果您需要更多信息或代码,我会经常回来查看并更新我的问题。
答案 0 :(得分:0)
正如我所看到的那样,你重复了7次7列。 你必须添加1个系列。 尝试:test chart.Series.Add(s);
没有foreach!