参考,可动态添加上数据
/// <summary>
/// 绑定chart数
/// </summary>
public void YibuzhixingCharts(List<SBRecord> DataModel)
{
if (this.chartControlMain.IsHandleCreated)
{
this.chartControlMain.Invoke(new EventHandler(delegate
{
ChartXy MainChartXy = new ChartXy();
MainChartXy = chartControlMain.ChartPanel.ChartContainers[0] as ChartXy;
MainChartXy.AxisY.Title.Text = "数据";
if (DataModel != null)
{
ChartSeries OneSeries = new ChartSeries();
OneSeries.Name = DataModel[0].Name;
if (MainChartXy.ChartSeries.Where(x => x.Name == OneSeries.Name).Count() > 0)
{
OneSeries = MainChartXy.ChartSeries.Where(x => x.Name == OneSeries.Name).FirstOrDefault();
}
else
{
OneSeries.SeriesType = SeriesType.Line;
MainChartXy.ChartSeries.Add(OneSeries);
}
//string[] DataArray = DataModel.Split(',');
for (int i = 0; i < DataModel.Count(); i++)
{
//int Zhi = 0;///当前值
Zhi = Convert.ToInt32(DataModel.Datas[i]);
//Zhi = Convert.ToInt32(DataArray[i]);
SeriesPoint onePoint = new SeriesPoint();
//if (GModel.SetupModel.CaozuoType == 0)
//{
onePoint.ValueY = new object[] { ((object)(DataModel[i].Data)) };
//}
//else
//{
// onePoint.ValueY = new object[] { ((object)(Zhi / GModel.SetupModel.CaozuoShu)) };
//}
//int Shijian = DataModel.ZhenCaijiTime + i * AddMcroM;
onePoint.ValueX = DataModel[i].CreateDate.Second;// new object[] { ((object)(DataModel[i].CreateDate.ToString("HH:mm:ss"))) };
OneSeries.SeriesPoints.Add(onePoint);
}
}
}));
}
}
上面的数据是单条类型的数据,如果是多条类型的话,如下使用groupby来处理:
ChartXy MainChartXy = new ChartXy();
MainChartXy = chartControlMain.ChartPanel.ChartContainers[0] as ChartXy;
MainChartXy.ChartSeries.Clear();///清除现在所有的线
foreach (var item in RecodeListAll.GroupBy(x => x.Node_ID))//数据分类显示
{
List<TreeData_History> ListONeKey = item.ToList();
YibuzhixingCharts(ListONeKey);
}