Концепция принятия изменений в форме
От: sergunok  
Дата: 31.05.06 09:20
Оценка:
Здравствуйте!

Пишу GUI электронной истории болезни.
GUI — многодокументный. Каждый документ содержит кнопки Save (Принятие изменений), Cancel (Отмена и закрытие документа).
Некоторые документы содержат не только линейные поля, но и списки (как правило 1 список подсущностей).
Пример: редактируемая сущность — история болезни (дата госпитализации, диагноз и т.д.),
списки подсущностей — список событий в истории болезни.

Непонятно как вписать редактирование списка событий в концепцию с Save и Cancel.

Получается, что на форме есть кнопки Save, Cancel и список событий с кнопками Add, Remove.
При нажатии на Add должен открываться новый документ (опять таки с кнопками Save, Cancel), описывающий событие в истории болезни. При его сохранении в первой форме в списке событий появится новое событие.

Непонятно как это соотнести с необходимостью сохранять изменения (1-я форма кнопка Save).

Варианты решения проблемы:
1. Add/Remove должен быть подтвержден Save
2. Вынести список событий в отдельную форму (соответственно со своими кнопками Save, Cancel)
3. Add/Remove не требует Save.

Вариант 1 на мой взгляд крайне непрозрачен: при Add открывается новый документ, нажимая в нем на Save пользователь будет думать, что изменения попадут в БД
Вариант 2 — не хочется плодить документы в MDI.
Склоняюсь к п.3.: визуально разделить документ на 2 части — линейные поля с кнопками Save/Cancel и список с Add/Remove. Подход имеет еще один плюс при реализации корректного параллельного редактирования одной и той же истории болезни. Добавление нового event'а — не будет считаться изменением данной ИБ соответственно врачи смогут не мешая друг-другу добавлять их.

Покритикуйте, пожалуйста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.