2013-08-13 3 views
0

Мне было интересно использовать встроенные возможности MVC-моделирования (MVC 4.0 под VS2012) для создания приложения ввода данных.Предложения для строго типизированного представления MVC с большим количеством полей

Ввод данных, который я должен использовать, может содержать около 400 различных полей для каждой строки сущности. Все поля были бы целыми числами, кроме ключей, которые являются YearMonth и WareHouse

Мне было интересно, если кто-то знает хороший способ представления таких данных в представлении MVC. Я могу логически сгруппировать данные одного объекта, скажем, через 6 независимых сеток полей 7 * 5, 7 * 2 * 17, 3 * 5, 5 * 1, 2 * 5 и 2 * 2 * 17} (всего 371 поля + 2 ключевых поля).

Только требуемая проверка - это целые числа. Они могут быть пустыми.

Кроме того, у меня нет никаких ограничений в отношении того, как должны выглядеть таблицы базы данных underlyind. Я могу использовать первый подход кода.

Первый подход состоит в том, чтобы иметь одну таблицу с 373 столбцами, но, возможно, лучше разбить ее на несколько таблиц. Или, может быть, я должен попытаться нормализовать модель и сделать, чтобы каждый логический объект был сопоставлен с таблицей с тремя столбцами и 371 строкой?

Любые предложения?

Я думаю, что это ясно, но позвольте мне повторить одну концепцию. Когда пользователь создает запись, он должен иметь возможность вводить 371 поля не более, не менее. Они могут оставить поле пустым, если захотят.

+0

С технической точки зрения это можно сделать. Ваши типы данных должны быть nullable int (int?), Иначе они начнут с значения по умолчанию 0. С точки зрения пользовательского интерфейса вы должны быть сумасшедшими! 371 текстовые поля в одной форме, вы шутите? Кто собирается это заполнить. –

+0

Это не так много. Это похоже на заполнение 38 строк шириной 10 столбцов в Excel. Как я уже сказал, это целые числа и, вероятно, в диапазоне от 0 до 99999. Ключевой ИМО показывает текстовые поля в виде таблиц. – Eduard

ответ

1

Если все эти поля являются частью чего-то большого, я бы создал одну таблицу в БД. Позже будет легче работать и быстрее, чем искать данные в разных таблицах.

Что касается 371 полей в вашей форме, я думаю, что они могут быть логически разделены группами. В этом случае я бы использовал jQuery для деления процесса по шагам: Шаг1: отображать первые десять полей; Шаг 2: Скройте первые поля и покажите следующие десять полей и так далее. Технически это можно сделать, просто играя с методами hide() и show() jQuery.

+0

jQuery hide and show будет работать с POSTing всей сущностью при сохранении? – Eduard

+0

@Eduard Я думаю, он должен работать. Сообщение берет данные из всех feilds hiden и показано. –