Sunday, January 26, 2014

Null в элементе ввода Select

Игода бывает нужно предоставить пользователю оставить поле пустым (в частности, это может понадобиться при управлении доступом к полям, об этом в следующей заметке). В случае с селектом это не всегда просто. В OpenClinica какой-то элемент уже будет выбран. При задании параметров визита можно установить значенит для отсутствующих данных (вроде N/A или Нет информации), они будут добавлены во все селекты в форме, но прграмма будет их воспринимать именно как некое значение, а не Null.
Решение у этой проблемы такое: в эксельном файле параметров формы надо задать величину DEFAULT_VALUE - Null.  Тогда в селекте появится строка Null и система будет ее трактовать именно как пустую. Например если сделать это поле обязательным, то она будет ругаться при попытке сохранить его с пустым значением.
Единственно неприятно так это то, что в форме так и будет написано - Null. Это во-первых не по-русски, а во вторых потребует дополнительных пояснений для пользователей далеких от программирования. Можно ли сделать, чтобы вместо ненужного слова была пустая строка, я пока не знаю.

Добавление.
Все гораздо проще:
RESPONSE_OPTIONS_TEXT RESPONSE_VALUES_OR_CALCULATIONS
,Yes,No ,1,0

И будет вам пустая строка.

А еще можно вставить любой текст в DEFAULT_VALUE, например: (введите что-нибудь)
Будет работать так же, как Null

No comments:

Post a Comment