[英]How do I convert datacolumn values to decimals for use in a chart?
这就是我想要做的:
chart1.Series["ser1"].Points.AddY(database1DataSet.DataTable1.MyColumn);
但是:系列数据点不支持System.Data.DataColumn类型的值,只能使用以下类型的值:Double,Decimal,Single,int,long,uint,ulong,String,DateTime,short,ushort。
如何从数据集中转换为这些类型。 如果这很明显,请原谅我,然后开始学习。
好吧,如果您的数据表中有多个行,我想可能是这样的:
//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类的文档。
如果您有一个很大的数据表,我将按以下方式遍历各行,并将这些点添加到循环中的图表中(即,您无法像尝试那样添加整个列。...每个点都必须是分别添加)
using (var reader = database1DataSet.DataTable1.CreateDataReader())
{
int colOrdinal = database1DataSet.DataTable1.Columns["YourColumnName"].Ordinal
while (reader.Read())
{
chart1.Series["ser1"].Points.AddY(reader.GetInt32(colOrdinal));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.