2012-05-03 7 views
0

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

私の問題は、最初の1つ以上のグラフ(通常は1つ、時には2つまたは3つ)は空白です(グラフのサイズの空白のボックスを赤いX左上隅にあります)。

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

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

グラフを生成してページに追加するコードです(このコードを含むルーチンは4回呼び出されます)。

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); 

答えて

0

同じ:「ポイント」オブジェクトは名前がX軸に表示するラベルである名前と値のペアのコレクションが含まれており、値が数値Y軸の値であることに注意してくださいここで問題を起こす。 Chartイメージはファイルシステムに書き込まれますが、これはページがレンダリングされてから約20ms後に発生します。 Chartコントロールをレンダリングしてから20ミリ秒後にコードをスリープ状態にすると、問題は起こりません。 - 画像がディスクに書き込まれる時間があります。

+0

どこにも記載されていますか? –

+0

私は運がなくても2500ミリ秒までの遅延でさえこれを試しました。 – qwerty13579

0

これを行うプロセス(ページのレンダリングの遅延)は何ですか?私は同じ問題を繰り返している。開発中のグラフ(ここでは1つだけ)は10回のうち9回は表示されません。プロダクションでは、グラフに10回のうち約7回が表示されます。それは私が修正したい10のうち3つです。

関連する問題