2

MScharts コントロールに複数のシリーズを設定しています。この方法で、それらを切り替えたいと思います。初めてこのメソッドが呼び出されたときは、すべて問題なく、シリーズが正しく表示されます。2 回目以降は毎回、メソッド呼び出しにより、コントロールに赤い十字が描画されます。例外はスローされません。

    private void EnableChart(Series series)
    {
        if (series != null)
        {
            chart1.Series.Clear();
            chart1.Series.Add(series);
            double maxval = series.Points.FindMaxByValue("X").XValue;
            chart1.DataSource = series;
            chart1.ChartAreas[0].AxisX.Title = series.Name;
            chart1.DataBind();
            chart1.ChartAreas[0].AxisX.Maximum = maxval; //if commented out = ok
        }
    }

最後の行をコメントアウトすると、グラフは表示されますが、古いシリーズの X 軸の値が表示されるため、データが表示されません。

編集:解決しました。

私が使用する場合

 chart1.ChartAreas[0].RecalculateAxesScale();

それ以外の

 chart1.ChartAreas[0].AxisX.Maximum = maxval;

すべてが機能します。

4

1 に答える 1