0

おはようございます。

C# で変数 DataTable からグラフを作成中です。さまざまなサンプル コードを見て、すべてを適用しようとしましたが、グラフにデータが反映されていません。これは、チャートにデータを入力するために作成したコードです。

//Aggregates the series - For our app we're using from the third to the last column generated from the datatable used for our chart.
for (i = 2; i < myAux.Columns.Count; i++)
{
    this.chartReport.Series.Add(myAux.Columns[i].ColumnName);
}

//Assigns the value of the XAxis according to the name of the first column from our datatable assigned to the datasource of the chart.
for (i = 0; i < this.chartReport.Series.Count; i++)
{
    this.chartReport.Series[i].XValueMember = myAux.Columns[0].ColumnName;
    this.chartReport.Series[i].YValueMembers = myAux.Columns[1].ColumnName;
    this.chartReport.Series[i].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;
}

//Add values X and Y to the chart
for (i = 1; i < myAux.Rows.Count; i++)
{
    int m = 0;
    for (j = 2; j < myAux.Columns.Count; j++)
    {
        this.chartReport.Series[m].Points.Add(Convert.ToDouble(myAux.Rows[i][j].ToString()));
        m++;
    }
}

私のコード内では、変数myAuxはユーザーが指定したパラメーターで作成されたデータテーブルです。ユーザーが以前に作成したレポート データを表示するメイン テーブルのコピーとして使用します。

ここで見逃しているものはわかりませんが、チャートのバーを表示することを避けているのは確かです. 誰かがアイデアを持っていれば、私はこれで数日間立ち往生しているので、答えを大いに感謝します!

よろしくお願いします。

編集:問題の一部を見つけました: コードで 2 番目をコメントすると、データが表示されますが、XAxis と YAxis の内容を表示できないため、問題が発生しました。私が何をすべきかについて何か考えがあれば、私はそれを大いに感謝します!!

4

2 に答える 2

1

問題の原因がわかりました... シリーズと YAxis 値の間に間違った値を割り当てていました。だから私がしたことは、作成と割り当て全体を変更することでした:

//Aggregates the series - For our app we're using from the third to the last column generated from the datatable used for our chart.
Series mySerie = new Series();
mySerie.Name = myAux.Columns[1].ColumnName;
mySerie.XValueMember = myAux.Columns[0].ColumnName;

for (i = 2; i < myAux.Columns.Count; i++)
{
    mySerie.YValueMembers = myAux.Columns[i].ColumnName;
}

this.chartReport.Series.Add(mySerie);

これで、表示されなかった値の問題全体を解決しました。今、私はチャートのプレゼンテーションに取り組まなければなりません:)

于 2013-07-04T07:50:55.943 に答える
0

何が悪いのかわかるかもしれないと思います。シリーズは作成されません。最初にチャートの系列を作成します。各シリーズを作成する必要があることに注意してください。

mychart.Series[0] = new Series("MySeries");
于 2013-07-03T08:34:33.187 に答える