Нажмите для просмотра прикрепленного файла

При наличии на управляемой форме отображения дерева, в котором флажок располагается рядом с текстом строки (т.н. "дерево с флажками") удобно использовать флажок родительской строки для управления состоянием флажков строк-потомков. Для получение максимальной информативности отображения предпочтительно использовать флажок с тремя состояниями: третье ("серое") состояние в этом случае означает, что флажки строк-потомков у данной строки установлены частично.

Прилагаемая внешняя обработка ДеревоСФлажками.epf содержит в модуле формы код управления флажком с тремя состояниями. Реализована наиболее "естественная" логика управления флажками:

- если устанавливается флажок родительской строки, то устанавливаются флажки всех строк - потомков этой строки;

- если сбрасывается флажок родительской строки, то сбрасываются флажки всех строк - потомков этой строки;

- если установлены флажки всех потомков строки, то устанавливается также флажок этой родительской строки;

- если сброшены флажки всех потомков строки, то сбрасывается также флажок этой родительской строки;

- если флажки строк-потомков установлены частично, то флажок родительской строки становится "серым".

Остается напомнить, что тип реквизита, отображаемого флажком с тремя состояниями - Число, и значения его таковы: 0 - флажок сброшен, 1 - флажок установлен, 2 - флажок "серый".

Автор: Николай Больсунов