C# c将数据表绑定到图表。基于列的。错误:索引超出范围

C# c将数据表绑定到图表。基于列的。错误:索引超出范围,c#,charts,datatable,datasource,C#,Charts,Datatable,Datasource,我有数据表,想用它来做图表。下面是最后的代码和错误 dt = new DataTable(); da.Fill(dt); chart1.Series.Clear(); chart1.DataSource = dt; chart1.Series[0].XValueMember = "Id"; <-------- ERROR HERE chart1.

我有数据表,想用它来做图表。下面是最后的代码和错误

 dt = new DataTable();
        da.Fill(dt);     


        chart1.Series.Clear();         

        chart1.DataSource = dt;            
        chart1.Series[0].XValueMember = "Id";    <-------- ERROR HERE
        chart1.Series[0].YValueMembers = "SerialNo";  
        chart1.DataBind();
我错过了什么?
谢谢

您没有向数据表添加列

dt = new DataTable();//Create new Datatable

chart1.Series[0].XValueMember = "Id";// refer to column which is not there 
在使用列修复错误之前添加此行

dt.ColumnCount = 3;

我可以看到,在您的dt内容中,您得到了3列,但您在代码中只声明了两列

简单地设置数据源并不会创建系列集合。 而且,无论如何,你已经清除了他们 您需要向收藏中添加新系列

chart1.Series.Add("MySeries");
chart1.Series["MySeries"].XValueMember = "Id";
chart1.Series["MySeries"].YValueMembers = "SerialNo";

你错过了刚刚清除的序列!谢谢Steve,当在图表属性中完成时,认为图表已经添加了A ok Yeh。。想要清除数据内容,但不知道它也会清除添加的序列:。不管怎样-谢谢:现在很好用!很高兴能帮上忙。由于您是本网站的新用户,我建议您阅读
chart1.Series.Add("MySeries");
chart1.Series["MySeries"].XValueMember = "Id";
chart1.Series["MySeries"].YValueMembers = "SerialNo";