I blogged yesterday here, regarding fetching the total Number Of Pages in an ASP.NET web-based Crystal Report in the code-behind. My original motive for doing that was replacing the default Crystal Toolbar with a custom one. And continuing from that Blog post, I present here a custom Toolbar for ASP.NET Crystal Reports, which support the complete functionality of the default Crystal Report toolbar, but performs all its actions asynchronously (using Ajax), thus preventing any page refreshes and flickers.
I use Ext.Net/ExtJs for the ajax functionality. Basically the report is loaded in an inline iframe. The default Crystal Report toolbar is switched off, and instead a custom toolbar provides all the desired options. Any action like a request for Zoom, Page Change etc. is handled by loading the report again in the iframe using an async request.
The entire code for the Toolbar together with a Demonstration page is attached below.
Here are some screenshots for this toolbar: