Как обновить чекбокс

nvyush

Lotus team
22.04.2009
2 317
0
#1
Здравствуйте все!
В клиенте Лотус заказчик хочет следующее: на форме два чекбокса, верхний с одной позицией "выделить все", ниже чекбокс с позициями типа "флаг1" : "флаг2" : ... : "флагН". При выборе "выделить все" выделяются все позиции в нижнем чекбоксе, при сбросе любой позиции в нижнем чекбоксе сбрасывается верхний чекбокс. Onchange не подходит — поля обновляются после потери полем фокуса. Попробовал на InputTranslation, но поймал граблю: изменение нижнего чекбокса не обновляет верхний чекбокс, хотя значение и устанавливается. Проверял так — ниже чекбокса с флагами разместил cfd чекбокс c формулой = верхний чекбокс. Так вот, при обновлении верхнего чекбокса остальные обновляются как положено, при обновлении среднего чекбокса, нижний обновляется как нужно, а верхний не реагирует! Как победить не знаю. Обращаться за помощью к свингу из-за такой ерунды ужасно не хочется. Есть идеи?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 599
276
#3
размещаем на форме скрытое CFD, кот. вычисляет нужное состояние, анализируя значения чекбоксов...
а чекбоксы берут значение из него (по к-л условию и вычисляют "себя")
поле располагаем "выше всех"
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Medevic
Спасибо, получилось. Что-то я сам не догадался покопать в данном направлении, всё на собаках да на собаках... :lovecodeby:
lmike
Пробовал этот вариант, но чекбоксы должны быть редактируемыми. "Вычислять себя" получилось только в плане списка выбора, причём список обновлялся (напр., вместо "выделить все" появлялось "выбрать все"), но само значение — нет.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 599
276
#5
чекбоксы и будут редактируемые
а поле CFD - может даже рулить чекбоксами (@SetField)
а списки чекбоксы могут брать тоже из CFD (динамически менять контент)
 

nvyush

Lotus team
22.04.2009
2 317
0
#6
чекбоксы и будут редактируемые
а поле CFD - может даже рулить чекбоксами (@SetField)
а списки чекбоксы могут брать тоже из CFD (динамически менять контент)
Примерно так и делал, но через InputTranslation чекбоксов. В принципе, на собаках тоже заработало, но оставил скриптовый вариант, поскольку всё равно скриптовым событием Onfocus фиксирую активное поле.