Статические и динамические элементы управления + Ситуация основана - PullRequest
2 голосов
/ 22 декабря 2009

Я создаю веб-приложение для управления инструкциями на основе различных параметров (например, JobCode, State, Customer, Product и т. Д.). Я выделил около 20 полей-заполнителей для каждого из таких параметров. Отображаемые имена полей могут отличаться от одного проекта к другому. (множественная реализация).

В некоторых проектах могут использоваться не все 20 полей, а только 5-6 полей ...

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

Я думал о предоставлении статических элементов управления всем 20 полям и просто заполнял метки необходимыми именами полей и взаимодействовал с SP, используя имена полей "Filler1", "Filler2". Это также означает, что нам нужно сделать ненужный элемент управления невидимым ...

Как более опытные пользователи ... Можете ли вы перечислить плюсы и минусы в обоих ...

Спасибо

Ответы [ 2 ]

0 голосов
/ 22 декабря 2009

Для конечного пользователя будет довольно сложно понять интерфейс, если поля, которые не применимы для конкретного случая, все еще видны.

Так что я бы действительно советовал не создавать никаких полей, которые вам не нужны, или, по крайней мере, скрывать их, если они не нужны.

Что касается того, где разместить логику ... хорошо, имеет смысл извлечь данные, которые определяют, какие поля следует отображать, когда из базы данных. Но я бы рекомендовал не помещать всю логику, которая фактически отображает страницу, в хранимую процедуру. Скорее, вы использовали бы SP для извлечения данных и использовали свой язык (PHP, C # / ASP.NET, Java Servlet, что у вас есть) для фактической обработки данных и визуализации страницы.

htht.

0 голосов
/ 22 декабря 2009

Никогда не рекомендуется использовать заданное количество полей, как вы описываете (лучше создавать его динамически, но убедитесь, что вы пишете эффективный код). Создавая заданное количество элементов управления, вы ограничиваете себя и создаете большую проблему обслуживания. Вы можете не видеть это сейчас, но позже, что произойдет, если количество элементов управления изменится?

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

...