2011-07-26 5 views
0

誰かが助けてくれることを願っています。 私は、Visual Studio 2005 Business Intelligenceプロジェクト内のDundas Charting for Reporting Services v2.2を使用しています。 私がしようとしているのは、シリーズの中心にポイントを広げて、チャートの全域を横切って一方の側から他方の側に広げることです。トレンドラインをDundasチャートの両側に拡張する

シリーズの中央にマーカー(系列が折れ線グラフとして定義されているにもかかわらず)の代わりに、グラフの1つの端からもう一方の端に向かう線が必要です。

助けてください。

答えて

0

私は問題の解決策を見つけたが、多くの問題やグーグルが見つかった。私がやったことは、グラフの両側に2点を指定し、それらの間に線を描くことでした。これは、上級セクションにあるチャートの「ポストペイント」イベントで行われます。

また、トレンドラインのY軸定数を含むパラメータセクションにパラメータを追加しました。

は解決のために以下のコードを参照してください。

// Parameter: chartObj  - represents the chart object 
// Parameter: sender  - the chart object that will be painted 
// Parameter: e   - arguments that contain the graphics object 
// Parameter: codeParams - user defined code parameters 

double stripValue = Double.Parse(codeParams["Std"].ToString()); 

PointF p1 = new PointF(); 
p1.X = (float)chartObj.ChartAreas["Default"].AxisX.Minimum; 
p1.X = (float)chartObj.ChartAreas["Default"].AxisX.ValueToPixelPosition(p1.X); 

p1.Y = (float)chartObj.ChartAreas["Default"].AxisY.ValueToPixelPosition(stripValue); 


PointF p2 = new PointF(); 
p2.X = (float)chartObj.ChartAreas["Default"].AxisX.Maximum; 
p2.X = (float)chartObj.ChartAreas["Default"].AxisX.ValueToPixelPosition(p2.X); 

p2.Y = (float)chartObj.ChartAreas["Default"].AxisY.ValueToPixelPosition(stripValue); 


e.ChartGraphics.Graphics.DrawLine(new Pen(Color.FromArgb(255, 0, 0, 0), 1), p1, p2); 
関連する問題