• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Listbox

  • Автор темы Автор темы alik86
  • Дата начала Дата начала
A

alik86

Столкнулся с непонятным.
Имеем форму. На форме 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:
 
InputTranslation поставь "", эффект такой же.
 
Ну не совсем такой же. Если поставить ListBox`у Refresh fields on keyword change, то он окажется по-сути бесполезным -- фокус там не задержится вообще.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab