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?

  • 1
    Can you add a screenshot or a wireframe of the problem and maybe the solutions you tried? Otherwise the problem is hard to understand and the text is more of the kind TL;DR
    – Michael
    Jun 19, 2012 at 8:24
  • 3
    You can use the wireframe tool (Balsamiq) built into UX Stack Exchange... it would really help to visualize this question. Jun 19, 2012 at 8:59
  • I'm trying this wireframe tool suggested by @LisaTweedie. Never heard of it. I'll give it a try before anything else and post results as soon as they arrive. Thanks. Jun 19, 2012 at 12:45
  • If you edit your question above then you will see Balsamiq on the html window menu bar. It is the little wireframe icon next to the image up load icon. It is fairly self explanatory ... you just drag and drop UX elements ... should only take a couple of minutes. Hope you enjoy it - one of my favourite UX tools. Jun 19, 2012 at 13:13

2 Answers 2


Just solved. Using the suggested tool we could send our ideas to some other partners and one answer did the trick.

The solution

The only way to solve this issue with enough usability for Winforms apps and keeping code simplicity (at least for the first version) and all was to:

  1. Create something similar to checkboxes where the user can select from none to all filters available to the report (each report has it's very own list of available filters based on the report's data).
  2. After the filters are selected, the user moves to the next page and there he sees only the selected filters (or a message like "You haven't selected any filter") to configure items, ranges and all.
  3. After that the filters are applied to the data and the wizard moves to a page with a running marquee-bar.


We needed something that could be simple to code and yet, usable for most users.

Users of our systems do share some similarities and with this approach we're taking that into account too.

It's important to notice that this is the first version of this new feature. It's yeat a beta version and we will be collecting feedback from this (and other) features.

This is a very new feature and it's most like to change over time. I was planning to deliver some major improvements here but the feature itself is already a major improvement and the interface will be refactored over time.

Once again: we want to keep code simple. Since the feature is already very complex, it's important to keep everything else simple for now.

  • Do you mean Balsamiq? Jun 22, 2012 at 20:40
  • 1
    Which answer did the trick? If you have a solution to the question (even if it's your question) you can still post an answer and accept that. That way you help future visitors if they come across this question looking for a suitable answer. Can you describe what solution you went with?
    – JonW
    Jul 20, 2012 at 23:55
  • 1
    Great, thanks for coming back and updating your answer with the details. Much appreciated. +1
    – JonW
    Jul 23, 2012 at 14:58

I need some kind of screenshot or wire frame before I could help. Here's what I understood

"We need a way to effectively show filters and usage?"

Since we are working on Windows give them windows OS style filters. i.e when they come to report ask the report generator (the admin who gives you data) for four main filters and only show them (you could also by default show only four filters etc)

enter image description here

Show it in the same style as windows, users should get tempted to right click for more options. Users right click here, you could instead give a small label after fourth filter like 'more filters', if you like.

enter image description here

On clicking more of the context menu, you could show a popup with more filters. If people have come this far, they deserve complex filters.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.