Преобразовать данные в структуру данных, которая будет считываться с помощью MS с накоплением диаграммы управления? - PullRequest
1 голос
/ 18 августа 2010

У меня есть элемент управления диаграммой (если быть точнее, составной график) и таблица данных, которая содержит 3 столбца. Я хочу связать их в гистограмму с накоплением. ниже приведен пример данных:

Ресурс | Очередь | Hoursworked

Билли Джонс | Проекты - Внутренние | 234

Билли Джонс | Поддержка первого уровня | 234

Алан Кларк | Проекты - Внутренние | 123

Алан Кларк | Поддержка первого уровня | 234

В качестве оси X я бы использовал столбец Resource, а в качестве оси Y (в стеке) значение (отработанные часы)

Кто-нибудь может помочь? Я попытался просто выполнить обычное связывание, и я получаю сообщение об ошибке, говорящее, что это неправильный тип данных.

Спасибо

Билли

1 Ответ

2 голосов
/ 21 августа 2010

Попробуйте это для размера:

DataTable table2 = new DataTable();
table2.Columns.Add("Resource", typeof(string));
table2.Columns.Add("Queue", typeof(string));
table2.Columns.Add("Hoursworked", typeof(int));

table2.Rows.Add("Billy Jones", "Projects - Internal", 234);
table2.Rows.Add("Billy Jones", "Tier 1 Support" ,  234);
table2.Rows.Add("Alan Clark", "Projects - Internal" ,123);
table2.Rows.Add("Alan Clark", "Tier 1 Support", 234);

foreach (DataRow row in table2.Rows)
{
   string seriesName1 = row["Queue"].ToString();
   Series series = new Series(); ;
   try {
      series = Chart2.Series[seriesName1];
   }
   catch {
      if (series.Name == "") {
         Chart2.Series.Add(seriesName1);
         Chart2.Series[seriesName1].ChartType = SeriesChartType.StackedColumn;
      }
   }
   Chart2.Series[row["Queue"].ToString()].Points.AddXY(row["Resource"].ToString(), (int)row["Hoursworked"]);
}
...