【发布时间】:2020-12-02 19:58:36
【问题描述】:
我有一个定期更新数据表的应用程序,我将该数据表绑定到图表作为数据源。
private DataTable seriesData = new DataTable();
//in load handler
seriesData.Columns.Add("TagName", typeof(string));
seriesData.Columns.Add("XValue", typeof(DateTime));
seriesData.Columns.Add("YValue", typeof(double));
chart.DataSource = seriesData;
chart.DataBindCrossTable(seriesData.DefaultView, "TagName", "XValue", "YValue", "");
然后数据源以指定的间隔填充数据
var newRow = seriesData.NewRow();
newRow["XValue"] = ts;
newRow["YValue"] = Convert.ToDouble(tag.Value);
newRow["TagName"] = tag.Name;
//add new row to dataset
seriesData.Rows.Add(newRow);
问题是,当使用新数据更新数据源时,图表不会自动更新。
我认为需要使用chart.DataBind(); 刷新它,但这并没有刷新图表。我也尝试过使用chart.Invalidate();,但这也没有用。我确实验证了数据表中有数据,并且它在附加到图表的数据视图中发生了变化。
有什么想法吗?
谢谢
【问题讨论】: