Reporting Services: Draw rectangle on chart's plot area
-
I am working on a report which requires me to draw two polygons (rectangles) on a scatter chart to visually indicate "good" and "bad" ranges of plotted data. Is there a way to do this out-of-the-box? Otherwise, if I must create a custom report item, how do I draw on the chart surface? I have looked at the following articles on Custom Report Items, but when I open the sample solutions I can't put the custom report items on the chart surface. http://blogs.msdn.com/chrishays/default.aspx [^] http://msdn2.microsoft.com/en-us/magazine/cc188686.aspx[^] Do I have to create a custom report item which inherits from a chart control? If so, does anyone have any reference samples?
Mark's blog: developMENTALmadness.blogspot.com
-
I am working on a report which requires me to draw two polygons (rectangles) on a scatter chart to visually indicate "good" and "bad" ranges of plotted data. Is there a way to do this out-of-the-box? Otherwise, if I must create a custom report item, how do I draw on the chart surface? I have looked at the following articles on Custom Report Items, but when I open the sample solutions I can't put the custom report items on the chart surface. http://blogs.msdn.com/chrishays/default.aspx [^] http://msdn2.microsoft.com/en-us/magazine/cc188686.aspx[^] Do I have to create a custom report item which inherits from a chart control? If so, does anyone have any reference samples?
Mark's blog: developMENTALmadness.blogspot.com
I have used the Dundas Chart for Reporting Services component to solve a similar problem, i.e. applying custom rendering to a Reporting Services chart. The Dundas Chart component exposes a PostPaint event which allows a developer to draw onto the chart surface area. Code is written against the chart control in C#. The component isn't cheap, but it does open up new possibilities for charting with Reporting Services. It is especially useful when you need to apply your own customizations to a chart that don't come out of the box.
Paul Marfleet "No, his mind is not for rent To any God or government" Tom Sawyer - Rush
-
I have used the Dundas Chart for Reporting Services component to solve a similar problem, i.e. applying custom rendering to a Reporting Services chart. The Dundas Chart component exposes a PostPaint event which allows a developer to draw onto the chart surface area. Code is written against the chart control in C#. The component isn't cheap, but it does open up new possibilities for charting with Reporting Services. It is especially useful when you need to apply your own customizations to a chart that don't come out of the box.
Paul Marfleet "No, his mind is not for rent To any God or government" Tom Sawyer - Rush
Thanks, that's one of the solutions I am looking at. However, this is the only requirement I have (so far) which doesn't come out of the box. So I'm not sure if I can get approval to purchase a license just so I can draw a couple rectangles. Of course it's beginning to look like my time to develop it myself will cost a lot more than just to license a 3rd party charting solution.
Mark's blog: developMENTALmadness.blogspot.com
-
Thanks, that's one of the solutions I am looking at. However, this is the only requirement I have (so far) which doesn't come out of the box. So I'm not sure if I can get approval to purchase a license just so I can draw a couple rectangles. Of course it's beginning to look like my time to develop it myself will cost a lot more than just to license a 3rd party charting solution.
Mark's blog: developMENTALmadness.blogspot.com
Something else I have tried in the past is writing a custom assembly in .NET that internally renders a Reporting Services chart. This can be achieved by using the web services that Reporting Services exposes to programmicically render a report. You could develop a report that simply consists of the chart you want to display. If you request this report through the web service, the data for your report will be returned as a byte array. You can create an image from this data and then use the graphics capabilities in the .NET Framework to alter the image to your requirements. You could create a custom component to do all this by following the Microsoft article.
Paul Marfleet "No, his mind is not for rent To any God or government" Tom Sawyer - Rush
-
Something else I have tried in the past is writing a custom assembly in .NET that internally renders a Reporting Services chart. This can be achieved by using the web services that Reporting Services exposes to programmicically render a report. You could develop a report that simply consists of the chart you want to display. If you request this report through the web service, the data for your report will be returned as a byte array. You can create an image from this data and then use the graphics capabilities in the .NET Framework to alter the image to your requirements. You could create a custom component to do all this by following the Microsoft article.
Paul Marfleet "No, his mind is not for rent To any God or government" Tom Sawyer - Rush
thanks, that's a good idea. I'll give it a shot.
Mark's blog: developMENTALmadness.blogspot.com