Как преобразовать значения столбца данных в десятичные числа для использования в диаграмме? - PullRequest
0 голосов
/ 21 января 2012

Это то, что я пытаюсь сделать:

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

Однако: точки данных серии не поддерживают значения типа System.Data.DataColumn, могут использоваться только значения этих типов: Double, Decimal,Single, int, long, uint, ulong, String, DateTime, short, ushort.

Как преобразовать эти типы из набора данных.Простите, если это очевидно, только начал учиться.

Ответы [ 2 ]

0 голосов
/ 21 января 2012

Если у вас есть большой набор данных, я бы перебрал строки следующим образом и добавил точки к вашей диаграмме в цикле (т.е. нет способа добавить весь столбец, как вы пытались сделать .... каждая точкадолжен быть добавлен отдельно)

        using (var reader = database1DataSet.DataTable1.CreateDataReader())
        {
            int colOrdinal = database1DataSet.DataTable1.Columns["YourColumnName"].Ordinal
            while (reader.Read())
            {
                chart1.Series["ser1"].Points.AddY(reader.GetInt32(colOrdinal));
            }
        }
0 голосов
/ 21 января 2012

Что ж, если у вас есть более одной строки в вашей 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...