Posts

Crystal Reports - Drill down web reports in a new window

Drill down reports is a common reporting requirement. If its a web based reporting application usually the drill down reports are preferred to be shown in a new browser window, leaving the main report open. If we use Crystal reports version which comes with Visual Studio 2005, making it to show the drill down reports in a new browser window, involves this trick. In the report designer, we can format any field to make it as a hyperlink(right click the field from the designer -> in the format editior, choose the Hyperlinks tab). In the website address section, you can edit the URL to specify the Hyperlink Text. In that you can specify the URL of the web page you would like to open which will have drill down .rpt file). You can pass the parameters dynamically too. Something like this:- "javascript:window.showModalDialog('default2.aspx?param1=" + ToText({Table1.field1}) + "&param2=" + ToText({Table2.field2})+ "')"

Using Static classes to maintain state between ASP.Net pages

Unusually enough, one of my colleagues, used a static class to maintain state between post backs in an ASP.Net page. Basically he stored the list of values to be populated in a dropdown list in a static class. First time when the page was loaded this list would be populated from the database and the next time onwards, the list will be populated back from a static class. This worked perfectly fine in the development and QA environments. But when the code was deployed in the production environment which had a web farm(with clustered and load-balanced web servers), the list wasn't getting populated consistantly. The order of values in the list was changing. After spending time in debugging, we identified this as the route cause. The issue was sorted out after the list was retained in a session variable. I think that using Static classes for maintaining the state is not a good practice, even if we have to, I think we should avoid that in web farm environment.

Why TechGiggles?

Having spent about nine years in a "few" IT and ITeS companies, I have played a number of technical roles in my career. Most of them involve finding technical solutions to the problems encountered during product/project development. As in most of these environments, invariably, we will have delivery timelines and milestones. Cracking these problems quickly becomes a necessary skill for any programmer. Some of these problems require acquaintance with the rare features/abilities of development tools, components, programming language or technical platform. On many occasions, these problems put our googling skills to test. Though these are some difficult phases in the day to day life of a programmer, finding a solution for these problems gives a lasting satisfaction and a feeling of accomplishment which leads to an end of the day amusement(giggle). Though I have been around for a short while, I am still a novice blogger. I will try my best to record such problems and the soluti