Monday, March 28, 2016

DevExpress Customized End User Report Designer

I had a business requirement, where the end users needed to have a Windows based Report Designer and they should be able to create reports calling an ASP.NET Web API endpoints. And the ASP.NET Web API was using OAuth2 and before calling the endpoints the end users needed to be authenticated first. And when the report is running in the browser and that’s within the application, the current principal should be used to execute the reports or to call the Web API end points. I was trying with different approaches/third party libraries as SSRS Report Builder does not provide such a extensive functionality and then stepped into DevExpress .NET Reporting Framework.

One of the features of DevExpress .NET Reporting framework is, it contains a Report Designer control which you can drag and drop either to a Windows Forms application, Windows Presentation Foundation (WPF) application or even to a ASP.NET Web/MVC application. And the nicest thing above all is, with some code you can customize the look & feel and the behavior of the report designer. But I should mention Windows Forms approach has the most highest flexibility in customization while the rest of the two currently does not provide fully fledged customization options.

If you are using Windows Forms based Report Designer, you can customize almost all the pages in the Report Wizard. You can either use provided wizard pages and you can override underline logic or even you can come up with your own UI and write the logic yourself.

It’s just nice DevExpress!

Happy Coding.


1 comment:

  1. Code: Web.Config


    Error: Cannot obtain Metadata from http://localhost:16519/Service1.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address. For help enabling metadata publishing, please refer to the MSDN documentation at Exchange Error URI: http://localhost:16519/Service1.svc Metadata contains a reference that cannot be resolved: 'http://localhost:16519/Service1.svc'. The requested service, 'http://localhost:16519/Service1.svc' could not be activated. See the server's diagnostic trace logs for more information