User interface for more than 700 options

In my .NET desktop application, I wrote (for internal use) where I need to allow my users to apply the diagnosis to the Member Plan. Currently, the system has 700 and is growing. I need to let them add a few slides at once. I am currently resolving this through a combo check list box . It works, but INSANELY is relentless for both me and users.

What I'm looking for is how I can show them to users. Ideally, I would need to show two criteria for each of them. Diagnosis Name and Diagnosis Code

Ideas? How would you handle this?

I am using .Net 3.5sp1 and SQL 2005 for the backend. I don't care what the solution is WPF or Winforms .

+4
source share
8 answers

I would use 2 lists, 2 buttons and a text box.

One list to store possible values, one list to store selected values. The text box can be used to filter possible values โ€‹โ€‹(if the user enters MyValue, displays only the values โ€‹โ€‹containing MyValue, etc.), and then the buttons will be standard button arrows for moving selected lines between lists.

And expanding the espais answer about drilling down, if possible, it might be better if one or both lists were displayed as a tree, so you could combine drilling with filtering and be able to tell which ones, etc.

+6
source

You need to turn your mind around. This is not about reporting data, but about recording user intentions.

When a user sits down to diagnose a member plan, they donโ€™t think about the terms "out of the 700 options that I have to choose, oh, just click on it." This truth is that people rarely sit down at a computer because business applications are fun - they usually use them to do a certain part of the work. In your case, it sounds like they are trying to do some analysis. Each type of analysis can have several uses, and you must do it.

All of these concepts must be explicit. For example, if you create your own domain, if it is possible to show all users who have a nutrition plan, and the ability to filter users whose children also have membership, it is probably unlikely that these parameters will be used at the same time. Instead, you can ask your user what they would like to do: analyze costs or analyze membership distribution. Something like that. Perhaps your users are using your application to issue no more than a few dozen types of requests.

As soon as you know what kind of work they do and why they do it, I bet that the set of options has been drastically reduced.

I tied it a dozen times, but this podcast of podcast code with Greg Young should definitely listen to every developer.

+5
source

You may have some method of limiting the number of users displayed at a time ... for example, classify them somehow (then you can "expand" into smaller and smaller groups).

You can also implement a search that automatically suggests names when you enter them to help limit the number of entries shown at one time.

+3
source

I would do something like:

 Available Assigned +-----------------+ +-------------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------+ +-------------------+ Filter: ----------- 

If each box is a list view, the filter text box allows the user to filter the available diagnosis', and the items are dragged between the fields.

Once an item has been assigned, mousing over will display a built-in delete button to allow the user to delete previously assigned values.

+1
source

The problem is that there is simply no control that is not bulky and contains more than 700 elements. Trees, lists, comboboxes, datagridviews ... all this is a pain (for various reasons) when you have a lot of items.

I propose to provide either A) some categorization of the data to limit the choice, and to associate switching between these categories with them, or B) a text entry that has automatic completion to reduce the size of the elements from which to choose.

For B, I would use a (fairly standard) view of two lists, a text entry and two button modes. Connect the text change event to โ€œfilterโ€ the left list, use the โ€œAddโ€ button to add the selected lines to the desired list view. Use the "Delete" button to bring them out of the correct text view.

You can become smarter and reduce the number of items by their name or by their identification code - some people remember that 012345 means something, because it is usually selected, for example, or you can develop another scheme for reduction.

I use B) in several products and it works great.

+1
source

In addition to Georgeโ€™s suggestion, I just wanted to add that if your options should be searchable, grouping options into categories can quickly get people to where they should look.

However, be careful with this, because how the developer will categorize the options and the user are often different.

Another option is to create a workflow and rethink the interface. I know that you mentioned that they need to enter them at the same time, but if it is possible to create a multi-page entry (similar to a wizard), it is much less overwhelming. โ€œSelect options from category 1 ...โ€ on page 1 ... and then on. Now make sure your users know where they are within your application. Step 2 of 8

There are many factors, including how often the application is used, what level of skill your users have, what are you trying to achieve in the end?

NTN

+1
source

From the historical use of data mining with respect to the claims handling system and the need to deal with diagnostic / procedural codes, you can switch to a combination of controls. Firstly, I would have a grid (allows more than 1 or 2 diagnoses, so you are not stuck there and must redesign the form, if ever more needed) of the entered diagnostic codes. Above it (or below) there is a text box.

If users have documentation from which they come, and they have codes right there, let them enter the text box freely. When checking the text field, request a table of valid codes and get a code and description to fill in your grid above if only 1 entry is found. If more than 1, display a pop-up window with a grid of options that match your query and allow them to choose from this. Any such selection will be added to your main grid screen. If NO entries are found, it can be from type-o or code that simply does not exist. Then I would drop the line until you ask and the DID will get some result. Then, as previously indicated, call the secondary form to select from the available diagnostic codes. Example: if the Diag code โ€œ12345โ€ is not found, find โ€œ1234โ€, โ€œ123โ€, โ€œ12โ€, โ€œ1โ€ until SOMETHING returns with the result.

In addition, for a query, if the text is defined as numeric, a code-based query. If the alpha query is in the description ... In any case, the result set may be displayed from what was found instead of stumbling upon a list of inapplicable elements.

+1
source

I think this is a simple text input field with an automatic full drop-down list. when the choice is made, add another field to the page for the next entry.

0
source

Source: https://habr.com/ru/post/1306709/


All Articles