繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM