Listbox

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#1
Столкнулся с непонятным.
Имеем форму. На форме editable field типа ListBox. Ставим ему Use formula for choices допустим:
Код:
@For(n := 1; n <= 15; n := n+1; num := @If(n = 1; n; num : n));
@Transform(num; "num"; @Repeat(" "; 2 - @Length(@Text(num))) + @Text(num))
Т.о. ListBox будет иметь значения от 1 до 15 (ака текст выровняный по правому краю).
Открываем данную форму, выбираем любую строку в ListBox`е, обновляем документ (жмем F9) и на всех значениях от 1 до 9 фокус уходит из ListBox`a (оно то мне и надо), а вот начиная со значения 10 не уходит. Это плохо.
Коротенький анализ натолкнул на мысль, что фокус уходит, когда строка начинается с пробела.
Добавил пробел ко всем строкам:
Код:
@For(n := 1; n <= 15; n := n+1; num := @If(n = 1; n; num : n));
“ ” + @Transform(num; "num"; @Repeat(" "; 2 - @Length(@Text(num))) + @Text(num))
Проблема решилась, фокус пошёл.

Но вот интересно, почему так? Багофича? :rolleyes:
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#3
Ну не совсем такой же. Если поставить ListBox`у Refresh fields on keyword change, то он окажется по-сути бесполезным -- фокус там не задержится вообще.