logo
logo

Доработки Листание в выпадающем списке

список тем создать тему

Листание в выпадающем списке

Версия: 2.0.217

Тип: Ошибка
Статус: Завершено
Важность: Если время будет
Ошибка 2.0.217 #58
Описание
Добрый день!
 
При выборе Агента или Статьи в редактировании или заведении операции на счёте можно листать выпадающий список в том случае если он велик. При этом работают клавиши PgUp/PgDn и полоса прокрутки для листания мышью.
Если использовать пролистывание с помощью клавиатуры - проблем нет.
Если использовать пролистывание с помощью нажатия мышью на бегунок полосы прокрутки с последующей плавной прокруткой до отпускания клавиши мыши - проблем нет.
А если использовать пролистывание мышью путём нажатия на поля полосы прокрутки выше или ниже бегунка (аналог PgUp/PgDn для мыши), то показывается не следующая страница списка, а с пропуском одного элемента.
Допустим, в выпадающем списке отображены Агенты от Евросети до Макдака, делаем прокрутку вниз, получаем новую страницу от Мегафона до Почты России. Проблема в том, что между Макдаком и Мегафоном есть Маршрутки, а они при таком листании не попадают на экран и выбрать их можно, только применяя другие методы пролистывания. Это, конечно, не слишком большая ошибка, но слегка неприятная ;-)
Спасибо.
Последовательность действий
1. Сгенерировать список Агентов или Статей больше, чем на два экрана выпадающего списка. 31-го, если я верно понимаю.
2. Создать новую или отредактировать существующую операцию на любом счёте.
3. Вызвать выпадающий список Агентов.
4. Записать нижний элемент списка для последующего листания вниз или верхний элемент для листания вверх.
5. Нажать мышью выше или ниже бегунка в полосе прокрутки.
6. Записать верхний элемент списка для листания вниз или нижний элемент для листания вверх.
7. С помощью клавиатуры или удерживая бегунок провести пролистывание в обратном направлении.
8. Убедиться, что в списке присутствует элемент между записанными на этапе 4 и на этапе 6.
9. ...
10. PROFIT ;-)
Да, есть такой эффект. При постраничном пролистывании программа считала неполную показываемую строку за полную и перекидывала ее на предыдущую страницу. Я поправил это в своем коде, в 218-й сборке эта ошибка проявляться не должна.