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;
すべてが機能します。