0

ASP.NET 4.0チャートコントロールを使用して4つのグラフを生成し、それらを表示するページがあります。チャートは、ページの読み込み時にコードビハインドで作成され、ページのテーブルに追加されます。

私の問題は、ページが読み込まれると、最初の1つ以上のグラフ(通常は1つだけですが、2つまたは3つ)が空白になることです(ユーザーは、左上に赤いXが付いたグラフのサイズの空のアウトラインボックスを取得しますコーナー)。

ページを更新すると、すべてのグラフが適切にレンダリングされます。

最初のパスでグラフを作成する方法についてのアイデアはありますか?

グラフを生成してページに追加するコードは次のとおりです(このコードを含むルーチンは4回呼び出されます)。'points'オブジェクトには、Name-Valueペアのコレクションが含まれていることに注意してください。ここで、NameはX軸に表示されるラベルであり、Valueは数値のY軸値です。

Chart graph = new Chart();
graph.Width = 800;
graph.Height = 400;
Series series = new Series();
series.Name = "Series1";
series.Palette = ChartColorPalette.Bright;
series.IsXValueIndexed = true;
for (int j = 0; j < points.Count; j++)
{
    DataPoint dataPoint = new DataPoint(j+1.0, points.GetItem(j).Value);
    dataPoint.AxisLabel = points.GetItem(j).Name.Trim();                    
    series.Points.Add(dataPoint);
}
graph.Series.Add(series);
ChartArea chartArea = new ChartArea();
chartArea.Name = "ChartArea1";
chartArea.AxisX.Interval = 1;
chartArea.AxisY.LabelStyle.Format = "###,###,###,###";
graph.ChartAreas.Add(chartArea);
graph.Titles.Add(caption);

TableRow tr = new TableRow();
TableCell td = new TableCell();
td.Width = new Unit(100.0, UnitType.Percentage);
tblGraph.Rows.Add(tr);
tr.Cells.Add(td);
td.Controls.Add(graph);
4

2 に答える 2

0

ここで同じ問題。チャート イメージはファイル システムに書き込まれますが、これはページがレンダリングされてから約 20 ミリ秒後に発生します。Chart コントロールをレンダリングした後、たとえば 20 ミリ秒間コードをスリープ状態にすると、問題は発生しません。画像がディスクに書き込まれる時間があります。

于 2012-05-08T19:50:40.017 に答える
0

それを行うプロセスは何ですか (ページのレンダリングの遅延)? 私は同じ問題を何度も抱えています。開発中、グラフ (ここでは 1 つだけ) は 10 回中 9 回表示されません。本番環境では、グラフは 10 回中約 7 回表示されます。修正したいのは 10 のうち 3 です。

于 2012-05-09T19:15:33.957 に答える