I often run into a situation where I need to come up with a GUI to edit data that has a n:m relationship. I'm looking for user friendly GUI ideas.
[table1]
|
/|\
[table2]
\|/
|
[table3]
Usually the GUI resembles something like this:
Grid that shows all items from table1
Add table3 item... (shows modal window with table3 items)
Grid that shows all items from table3
After the user picked a table3 item, I add a new row to table2 and refresh the grids.
Disadvantages:
- You can only add table3 items to table1, and not the other way around;
- You can only browse table1 items and see related table3 items;
- I need to have one filtered grid of table3 items, and a similar one to pick new items;
My question:
Does anyone know a better way to visually browse and edit data that has a n:m relationship? Or any nice patterns that I could "steal" from existing software packages?