I’m really sick of reporting components. Actually, that’s not entirely true: I like programming reports. And when the reporting components work, they are groovy, too.
I just wish I didn’t have to know so many of them.
For years I worked with Crystal Reports, because that’s what everybody used. It wasn’t without problems, but it was the gold standard. We used to say “Crystal Reports: It sucks less than the competition.”
When .NET rolled around and my projects started needing reports, i looked at several options. I finally settled on ActiveReports, which seemed to do for a reasonable price. In this particular case, I needed to create deliver reports over the web with embedded HTML in some of the text. I ran into problems getting this to work with our HTML, but I was mostly able to sort them out.
A couple of years ago I worked on a project that also needed to deliver reports over the web. In this case, the customer was sold on SQL Server Reports. I spent a lot of time learning the technology, but I figured it would be worth it because I would probably just start using it for all my projects. After all, it comes with SQL Server and it works!
Fast forward to the end of last year when I started a new project converting an Access application to Windows .NET. An important requirement was that end users needed to be able to modify reports and create new ones. Unfortunately, this wasn’t something I could provide with the version of SQL Server they are using. Ugh. So I discovered ComponentOne’s Report for WinForms Designer Edition. I’ve spent quite a bit of time this year learning this component. Unfortunately it isn’t cheap; I had to spend something like $1,800.
Now I’m upgrading a web application using ActiveReports to .NET 2.0. I didn’t think it was a big deal, because while the app was version 1.1, I knew I had already purchased ActiveReports for .NET 2.0.
One snag. ActiveReports for .NET 2.0 doesn’t work with VS2008. Apparently the “2.0” is referring to the version of ActiveReports, not the version of the framework. It does work with ASP.NET 2.0, but the fact that VS2008 also supports 2.0 is meaningless. The designer, will only work in VS2005.
Having spent almost $2,000 on reporting components already this year, you can understand why I didn’t want to drop another $500 for an upgrade for ActiveReports to 3.0. (Using the $2,000 reporting tool is not an option, as it is WinForms only.)
My solution has been to install Visual Studio 2005 side by side with VS2008, and create a class project that includes all the reports. Then I changed the reference in my VS2008 project to point to the DLL for that project.
It is stupid, but it will solve my particular issue.
I’d actually consider upgrading ActiveReports at some point. But I’d rather do it when I’m planning on it.