Convertire un datatable ad una struttura di dati di essere letti da MS impilati controllo grafico?
-
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 aiutareCan? Ho provato appena vincolante normalmente e sto ricevendo un errore dicendo che è il tipo di dati sbagliato.
Grazie,
Billy
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