Поскольку это больше касается пользовательского интерфейса приложения, чем чего-либо еще, я не думаю, что будет один правильный ответ, так как он сводится к комбинации того, что работает (что трудно без возможности видеть / играть с вещами) и ваши личные предпочтения.
Несколько прогрессов, через которые я пробежусь:
- Визуальная обратная связь
Сделайте ваш стол более интерактивным, предоставляя пользователю визуальную обратную связь. На самом базовом уровне попробуйте добавить немного цвета в ячейки - цвет для тех, которые отмечены. Это позволит пользователю быстро увидеть, какие параметры находятся «в игре». Это может быть наоборот, это работает лучше (выделение непроверенных ячеек) - но все это зависит от того, что форма делает / намеревается указывать - то есть, если более важно ясно показать, что непроверенное состояние плохое, вы можете захотеть, чтобы это было красный.
Следующий уровень - добавить динамическое выделение. Если таблица огромная, вы можете выделить ячейки заголовка строки и столбца, которые соответствуют ячейке под курсором. Вы также можете выделить весь ряд / столбец (стиль перекрестия), чтобы пользователь мог изучить ячейки «компаньона».
Динамическая таблица
Чуть более сложным было бы добавить немного специй к вашему столу. Вместо отображения строк и столбцов флажков используйте графические значки / изображения. Они намного проще для глаз и, вероятно, позволят вам более жестко контролировать размеры стола. Весь пользовательский интерфейс мог бы тогда быть сделан через Javascript и по щелчку - что довольно легко в наши дни, если вы используете что-то вроде JQuery.
Разделить интерфейс
Это основано на предположении, что все комбинации Таблицы A и Таблицы B не настроены в сводной таблице для начала - только когда пользователь пытается связать A.item с B.item
Вместо того, чтобы показывать все возможные комбинации, показывайте только те, которые активны (есть запись в сводной таблице). Затем предоставьте пользователю вторую форму (возможно, из двух раскрывающихся списков), которая позволяет ему связать запись из первой таблицы со второй.
Фильтр интерфейса
Предоставьте пользователю возможность фильтровать интерфейс - показывать только отношения между одной записью из одной из таблиц. Это приведет к тому, что ваша таблица будет ограничена одним столбцом, что немного облегчит размещение в проекте.
Однако я все же позволил бы пользователю получить «общее представление» всех записей, поскольку, в зависимости от того, что вы делаете, например, представление может быть очень полезным для быстрой перекрестной ссылки на множество записей.