Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 DataWindow: неправильный Scrolling при активировании Window  [new]
ananaskunst
Member

Откуда: Германия
Сообщений: 2
Здравствуйте уважаемые!
Краткое описание проблемы.
(PowerBuilder10.5) Window с большим DataWindow -> горизонтальный и вертикальный Scrolling на несколько страниц.
Перехожу с помощью ScrollBar например на третью страницу по вертикали.
Покидая Window (кликаю мышкой на другое окно), запоминаю (Event "deactivate") в InstanceVariable положения движков ScrollBars:

// Event deactivate
is_VerticalScrollPosition = dw_1.object.dataWindow.VerticalScrollPosition
// В debuger'e вижу is_VerticalScrollPosition = 474

Возвращаясь в первое окно, устанавливаю (Event "activate") исходную позицию:

// Event activate
// В debuger'e вижу is_VerticalScrollPosition = 474
dw_1.object.DataWindow.VerticalScrollPosition = is_VerticalScrollPosition
// В debuger'e вижу dw_1.object.DataWindow.VerticalScrollPosition = 237

//(или вариант с Modify)
//dw_1.Modify("DataWindow.VerticalScrollPosition = '" + is_VerticalScrollPosition + "'")

Результат: DataWindow "прыгает", но не на запомненую позицию по вертикали, а как раз одну страницу выше.

Вопрос: что я делаю не правильно? Вариант: как вычислить высоту страницы (VerticalScroll на одно перемещение движка)?
11 фев 11, 16:05    [10222142]     Ответить | Цитировать Сообщить модератору
 Re: DataWindow: неправильный Scrolling при активировании Window  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
А разве dw меняет позицию при активации-деактивации?
11 фев 11, 17:24    [10222818]     Ответить | Цитировать Сообщить модератору
 Re: DataWindow: неправильный Scrolling при активировании Window  [new]
AIS
Member

Откуда:
Сообщений: 1695
spas2001
А разве dw меняет позицию при активации-деактивации?

Меняет, если в событии написать:
dw_1.object.DataWindow.VerticalScrollPosition = хххх ;)
11 фев 11, 23:39    [10224784]     Ответить | Цитировать Сообщить модератору
 Re: DataWindow: неправильный Scrolling при активировании Window  [new]
Riska
Member

Откуда: Израиль
Сообщений: 985
Как извращенный вариант (если уже совсем ничего не поможет) можно запомнить id строки, потом на activate Findoм найти эту строку и туда прыгнуть.
13 фев 11, 12:31    [10227950]     Ответить | Цитировать Сообщить модератору
 Re: DataWindow: неправильный Scrolling при активировании Window  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
AIS
spas2001
А разве dw меняет позицию при активации-деактивации?

Меняет, если в событии написать:
dw_1.object.DataWindow.VerticalScrollPosition = хххх ;)


Вот, вот. Закомментировать код и все решение:)
13 фев 11, 16:37    [10228503]     Ответить | Цитировать Сообщить модератору
 Re: DataWindow: неправильный Scrolling при активировании Window  [new]
ananaskunst
Member

Откуда: Германия
Сообщений: 2
spas2001,

к сожалению я должен в DataWindow кое-что добавмит и Retrive() сделать. Поэтому и запоминаю страницу, что бы на неё вернуться и изменения показать.

ananaskunst
18 фев 11, 18:04    [10259330]     Ответить | Цитировать Сообщить модератору
 Re: DataWindow: неправильный Scrolling при активировании Window  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Тогда вариант Riska единственно правильный и кстати уже опробованный:)
20 фев 11, 12:05    [10263253]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить