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

InformationsquelleAutor bokkie | 2013-03-11
Schreibe einen Kommentar