Asp.Net Diagramm mit mehreren Reihen und mehreren Werten auf der y-Achse
Ich habe einen datatable, der wie folgt aussieht:
Data Value 1 Value 2 Value 3
series1 32 -2 46
series2 -62 99
series3 19 23 98
Auf dem chart, ich muss es so Aussehen:
32 -2 46 -62 99 19 23 98
series1 series2 series3
und die Legende : Wert 1, Wert 2, Wert 3
die codes, die ich versucht habe:
private void LoadChartCurrencyTotal(DataTable initialDataSource)
{
DataTable pivotedDt = Pivot(initialDataSource);
chart1.DataSource = pivotedDt;
foreach (DataRow dr in pivotedDt.Rows)
{
Series series = new Series(dr["Data"].ToString());
List<string> colNames = (from DataColumn col in pivotedDt.Columns where col.ColumnName != "Data" select col.ColumnName).ToList();
series.XValueMember = "Data";
series.YValueMembers = string.Join(",", colNames);
chart1.Series.Add(series);
}
chart1.DataBind();
FormatChart(chart1);
}
zurück Data points insertion error. Only 1 Y values can be set for this data series.
weil der verknüpften Spalte Namen.
Habe auch versucht:
private void LoadChartCurrencyTotal(DataTable initialDataSource)
{
DataTable pivotedDt = Pivot(initialDataSource);
foreach (DataRow pivotDr in pivotedDt.Rows)
{
Series serie = new Series(pivotDr["Data"].ToString());
List<decimal?> colValues = new List<decimal?>();
foreach (DataColumn col in pivotedDt.Columns)
{
if (col.ColumnName != "Data")
{
//colValues.Add(pivotDr[col.ColumnName] != DBNull.Value
// ? decimal.Parse(pivotDr[col.ColumnName].ToString())
// : new decimal?());
decimal? colValue = pivotDr[col.ColumnName] != DBNull.Value
? decimal.Parse(pivotDr[col.ColumnName].ToString())
: new decimal?();
serie.Points.AddXY(pivotDr["Data"], colValue);
}
}
//serie.Points.AddXY(pivotDr["Data"], string.Join(",", colValues));
chart1.Series.Add(serie);
}
FormatChart(chart1);
}
Dieser kompiliert, aber das Ergebnis ist völlig Durcheinander: Die Legende, die sais series1, series2, series3, und das Ergebnis ist:
32 -62 19 -2 23 46 99 98
series1 series2 series3
Bekomme ich die Ergebnisse pro Spalte nicht pro Zeile.
Und das Letzte, was ich versucht habe ist:
DataView pivotedDv = pivotedDt.AsDataView();
chart1.DataBindTable(pivotedDv, pivotedDt.Columns[0].ColumnName);
aber dies nur gibt:
0.00 0.00 0.00
series1 series2 series3
und die Legende: 0.00
Hoffe jemand hat eine Ahnung, wie dieses sollte acomplished. aber bitte, kein drag-and-drop und klicken Sie auf Lösungen, aber code.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, ich habe diese arbeiten, wie Sie mithilfe des folgenden Codes. Hoffe, das hilft: