Convertire un datatable ad una struttura di dati di essere letti da MS impilati controllo grafico?

StackOverflow https://stackoverflow.com/questions/3513458

  •  29-09-2019
  •  | 
  •  

Domanda

Ho un controllo grafico (grafico in pila per essere più precisi) e un DataTable contenente 3 colonne. Voglio legarli in un grafico a barre in pila. qui di seguito è ciò che gli sguardi DataTable come:

Resource | coda | HoursWorked

Billy Jones | Progetti - interna | 234

Billy Jones | Livello 1 Supporto | 234

Alan Clark | Progetti - interna | 123

Alan Clark | Livello 1 Supporto | 234

avrei colonna Risorsa come asse x, ed il valore (ore lavorate) di ciascuna coda come l'asse y (stacked)

chiunque aiutare

Can? Ho provato appena vincolante normalmente e sto ricevendo un errore dicendo che è il tipo di dati sbagliato.

Grazie,

Billy

È stato utile?

Soluzione

Prova questo fuori per il formato:

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"]);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top