如何将datacolumn值转换为小数以便在图表中使用?

时间:2012-01-20 22:54:41

标签: c# charts

这就是我想要做的事情:

chart1.Series["ser1"].Points.AddY(database1DataSet.DataTable1.MyColumn);

然而: 系列数据点不支持System.Data.DataColumn类型的值,只能使用这些类型的值:Double,Decimal,Single,int,long,uint,ulong,String,DateTime,short,ushort。

如何从数据集转换为这些类型。请原谅我,如果这很明显,那就开始学习了。

2 个答案:

答案 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));
            }
        }