Куда идти от полей пользователя типа "список" - диалоги или есть другой путь?

Автор Dr_Lecter, 19 октября 2015, 01:13

0 Пользователи и 1 гость просматривают эту тему.

Dr_Lecter

Суть задачи - реализовать возможность множественного выбора по условию.
Выбор одного значения из списка я решил с помощью полей типа "Список" (Вставка - Поля - Прочее- Функции - Список)

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

Т.е. первый список имеет два значения:


Эхографических маркеров наиболее частых хромосомных аномалий не выявлено.
Эхографические маркеры ХА:


При выборе второго должен появится список вариантов ниже и при выборе нескольких они все должны попасть в строку заключения через запятую или точку с запятой:


анатомические нарушения
гипоплазия костей основания носа
утолщение шейной складки
вентрикуломегалия
утолщение преназальных тканей
укорочение бедренной кости
укорочение плечевой кости
кисты сосудистого сплетения
гиперэхогенный фокус в желудочке сердца
гиперэхогенный кишечник
пиелоэктазия


Возможно ли это сделать иначе чем с помощью диалогов, а если нет то возможно-ли напрямую писать код диалога без рисования?

rami

Цитата: Dr_Lecter от 18 октября 2015, 23:13возможно-ли напрямую писать код диалога без рисования?
Можно. У Питоньяка в Глава 17. Диалоги и элементы управления есть Создание диалога во время выполнения.

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

economist

Отловить изменение во Writer текстового поля типа Список (это не Контрол!) - невозможно. Его значение можно только считать.

Это поле переменчиво, но оно не является "переменной". Следовательно, нельзя на его основе делать скрытым текст, менять другие контролы итп. А жаль - Поле-Список удобно редактируется без программирования, поддерживает произвольный порядок элементов и для списков на 5-10 элементов подходит идеально. Я не смог от них отказаться, а задачу скрытия/условного текста решил так:

1) добавил непечатаемый Контрол Текст и Тестовое поле
2) назначил на смену значения Контрола макрос, который переносит значение в Текстовое поле
3) добавил обнуление Текстового поля при открытии
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...