Вопрос

Прокрутка в карточке

Здравствуйте!

Версия ТС 3.4.1.191.

Есть карточка с множеством полей, вертикальная полоса прокрутки.

В зависимости от некоторых значений отображаются/скрываются некоторые поля и группы. Проблема в том, что если одна из групп внизу скрывается (по нажатию чек-бокса) - карточка прокручивается в самых верх. То же происходит с полями, если текущее положение в карточке где-то в середине... Подскажите пожалуйста как можно это обойти? 

Пробовала BeginUpdate/EndUpdate в разных вариациях, сброс в начало карточки при отображении группы убрать не смогла. 

Нужна либо блокировка на перемотку, либо получить текущее положение в карточке и после отображения/скрытия группы прокрутить в то же место скриптом, или другие варианты.



Также подскажите пожалуйста, можно ли сделать прокрутку в карточке с помощью колесика мыши?

Нравится

4 комментария

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

Может, есть смысл пересмотреть дизайн карточки, чтобы не было прокрутки: растянуть её до размеров экрана, разнеся поля в несколько колонок, либо же разнести поля по смыслу на разные вкладки в карточке.

Зверев Александр,

перемотка в начало происходит уже после 

frmData.EndUpdate(), который я так понимаю перерисовывает карточку. Подходящих событий не нашла. Свойства из разряда Scrolls, ScrollTo, ScrollBy система не распознает, scrollTop, scrollHeight и pageYOffset месседж выдает пустыми, либо неверно их использую. Полей много, вынуждена расположить по высоте карточке. 

Значит, меняйте расположение полей или делайте со вкладками.

Зверев Александр,

пришлось делать через блокировку, а не отображение/скрытие. Спасибо за ответ!

Показать все комментарии