We're doing some major changes into our existing layout for a Winforms (desktop) application. This application has a report manager and every single report is run-time created from an XML (layout) file.
This window is a wizard and the user can select between analytic reports and summary reports. Reports are grouped into categories, for instance:
- Customer reports
- Sales reports (etc).
When the user requests a report, this report manager will filter available reports from that category and display the available ones.
However, every report has it's very own way of filtering data. But since there are a few thousands reports (all of them together) and each has it's very own way of filtering (according to the context of information and all), I can't add all of these filters into the screen.
My idea is to create some sort of "filter selection" step on the wizard, right after the report selection. This will enable the user to select available filters.
After that, I really don't know what to do. Everything I have tried seems to be boring or time-comsuming or complex for the user.
First attemp was to create a tab control (horizontal tabs on the left, on the top, vertical tabs, all). Each selected filter would become a tab. But if there are too many filters, the wizard step becomes a "world of tabs". Also, if two are selected and these two are from a more simple filter (eg: time period) two tabs are created with too few controls and the window is, again, strange.
Second approach was to create a wizard step for each filter. I thought of that to be more elegant than the tab approach BUT it's too slow to apply all filters and if many filters are available, the wizard will become endless for the user.
I have tried to build a tree-like SQL filter.
We have a control that can build a tree using "OR", "AND" and some other keywords and available fields from each class. But this is somewhat complex.
This could be available as an alternative for expert users but new users will find this very complex to use.
Any idea for me to display these filters in a more user-friendly way?