2011-12-24 3 views
0

Я никогда не смотрел во всем, что предлагает .NET для проверки ввода пользователя, потому что для начала мне не нравится, как они обычно не позволят вам сфокусировать элемент управления, если вы не введете правильные данные (я считаю, что DataGridView делает это)..NET Validation pattern

С другой стороны, я обнаружил, что мне часто нужно проверить, что я опишу ниже, и мне интересно, будет ли при этом придерживаться стандартов .NET.

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

Конечно, это не единственный случай. Иногда это будет немного сложнее, и каждый раз, когда я попытаюсь снова вычислить , что это лучший способ справиться с этим. Интересно, есть ли уже шаблон, особенно тот, который предлагает .NET, я могу применить к случаю, описанному выше? Если это так, я уверен, что я выясню, как применить его к другим случаям.

+1

не уверен, что ваш вопрос? –

+0

В нескольких словах, как бы вы пишете описанное выше диалоговое окно, используя то, что .NET предлагает как профессионал. – Juan

+0

Я все еще не имею никакого смысла? – Juan

ответ

0

Ответ будет зависеть от особенностей реализации.

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

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

Реализация этой функции в точке извлечения данных позволяет нам поддерживать те же функции на любом клиенте (asp.net, silverlight и т. Д.).

Мы иногда повторяем, целесообразно ли добавлять логику к бизнес-объекту, но есть достаточно исключений (т. Е. Веб-сервисов, простых коллекций и т. Д.), Которые мы всегда возвращаем в вышеупомянутый дизайн ,