2つのserieオブジェクトを持つグラフを表示する必要があるC#プログラムがあります。現在、私はちょうど2つのデータセットを持つデータセットを持っています。 2つのテーブルのレイアウトは同じです。私は、データセットをチャートのdatasourceプロパティにバインドし、databind()メソッドを実行します。 1つのセリフだけを表示します。データソースのレイアウトを定義するにはどうすればよいですか?
私は解決策がカスタムバインディングコンテキストを定義することにあると思っていますが、私はそれを理解できないようです。誰か助けてくれますか?ありがとう。以下は
は、私のコードの一部です:
DataSet dataSet = new DataSet();
DataTable dataTable = database.Query("select sum(amount) as monthamount, month(transdate) as month from transaction where year(transdate)=" + balanceDateTimePicker.Value.Year + " group by month");
dataSet.Tables.Add(dataTable);
dataTable = database.Query("select sum(amount) as monthamount, month(transdate) as month from transaction where year(transdate)=" + balanceDateTimePicker.Value.AddYears(-1).Year + " group by month");
dataSet.Tables.Add(dataTable);
reoccuranceChart.DataSource = dataSet;
System.Windows.Forms.DataVisualization.Charting.Series series = reoccuranceChart.Series["Series1"];
series.XValueMember = "month";
series.YValueMembers = "monthamount";
series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
series.IsVisibleInLegend = false;
series = reoccuranceChart.Series["Series2"];
series.XValueMember = "month";
series.YValueMembers = "monthamount";
series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
series.IsVisibleInLegend = false;
reoccuranceChart.DataBind();
おかげで、それは問題ではありません。グラフでは、常に最初のクエリの結果が得られます。クエリ関数では、新しいDataTableが作成されます。それは古いものを上書きしません。 – NoAlternative