这就是我想要做的事情:
chart1.Series["ser1"].Points.AddY(database1DataSet.DataTable1.MyColumn);
然而: 系列数据点不支持System.Data.DataColumn类型的值,只能使用这些类型的值:Double,Decimal,Single,int,long,uint,ulong,String,DateTime,short,ushort。
如何从数据集转换为这些类型。请原谅我,如果这很明显,那就开始学习了。
答案 0 :(得分:0)
好吧,如果你的DataTable中有多行,我想这会是一种方式:
//loop through the rows of your DataTable
foreach(DataRow row in database1DataSet.DataTable1)
{ //convert the value of each row before adding it
chart1.Series["ser1"].Points.AddY(Convert.ToInt32(row["name of your column here"]));
}
在这种情况下,我将值转换为Int32,但您可以使用其他任何内容进行转换,请查看Convert类的文档。
答案 1 :(得分:0)
如果你有一个大型数据表,我会按如下方式迭代这些行,并在循环中将这些点添加到你的图表中(即没有办法像你试图做的那样添加整个列....每个点必须单独添加)
using (var reader = database1DataSet.DataTable1.CreateDataReader())
{
int colOrdinal = database1DataSet.DataTable1.Columns["YourColumnName"].Ordinal
while (reader.Read())
{
chart1.Series["ser1"].Points.AddY(reader.GetInt32(colOrdinal));
}
}