views:

34

answers:

1

Hi All,

I am developing a WinForms application and starting to dig into the reporting functionality. This is a smart client app, using SQL Server Compact Edition, which will be used both on and offline.

From what little I have read, since this will be used offline, I will need to add a ReportViewer control to my app to display reports when disconnected from the network. To add this control, I must configure it for either Local Processing or Remote Processing.

When users are offline, they will need access to a small set of local reports; meanwhile, managers back in the office may like to take a look at reports hosted on our report server.

What is the best way to handle this? Is there a way to configure the control to handle both types? Can I have both type of control? Am I doing things waaaaay wrong?

Any help is greatly appreciated!

A: 

A ReportViewer control can be set to either Local or Remote reports, I prefer to avoid Remote reports as they require a Report Server which can be a real pain to setup and maintain if you dont have staff who can take on that role.

Ignoring my personal preference you can use a single ReportViewer control and change it's properties and source at runtime quite easily. Take a look at the GotReportViewer site, there's a bunch of samples there.

You can also use multiple ReportViewer, think of it like a TextBox control, you can put as many as you like on a form if it makes sense, or even put one per tab in a tabbed control, or have a single form per report viewer with extra controls specific to the report (e.g. criteria). All these work well, it just depends what's easiest and most appropriate to your needs.

Timothy Walters