我希望有人能帮上忙。我在Visual Studio2005商业智能项目中为Reporting Services v2.2使用了Dundas图表。我正在尝试做的是扩展该系列中心点,以便它从一侧到另一侧横跨整个图表区域。
因此,我想要一条从图表的一端到另一端的线,而不是只在系列的中心有一个标记(即使系列被定义为折线图)。
请帮帮忙。
发布于 2011-08-03 21:15:59
经过多次修修补补和谷歌搜索,我找到了问题的解决方案。我最终做的是在图形的两边指定两个点,然后在它们之间画一条线。这是在“高级”部分图表的“Post Paint”事件中完成的。
我还在parameters部分添加了一个参数,其中包含趋势线的Y-Axis常量。
有关解决方案,请参阅以下代码:
// 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);https://stackoverflow.com/questions/6826959
复制相似问题