User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have 2 tables : a contract table and a part table. every contract has thousands of parts.

The user can select a contract and I display the thousands of related parts to the user using paging.

  • There needs to be a way to add/remove parts to a selected contract.
  • The user also needs a way to check wether the part being added already is existent on the contract.

Do you know any good way of coming up with this kind of user interface ? What I came up with really sucks.

share|improve this question
You may find the solutions in this question helpful: Best way to select a subset of items in a long list? – Patrick McElhaney Nov 10 '11 at 1:17
up vote 1 down vote accepted

You were lacking in detail a little bit but I think I got the idea. I would recommend having the table with the contracts in, and when one is selected the user is presented with the associated parts with that contract and another table with parts they can add to the contract.

You can use a pick list style to add / remove parts to the contract. This will stop users adding products the contract already has. for the selection of products I'd make the whole row clickable to select it or have a checkbox. It would be a bonus if each table was searchable / had pagination.

tables with pick list

share|improve this answer

have a contract page where you let search/filter parts of contracts and check/uncheck to include/exclude. you can have a parts page not related to contracts. Please go to magento demo and look catalog, manage products, related products to see an example of this pattern.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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