CellToGridZone - в двух словах

Модераторы: alexs, Модераторы

CellToGridZone - в двух словах

Сообщение midisa » 12.03.2014 13:58:31

Алексей, можете в двух словах сказать, что эта инструкция делает?

Мне нужно чтобы позиция грида сохранялась после обновления данных в гриде.

При изменении данных в гриде я использую это:

Код: Выделить всё
   var i_pos : integer;
   begin
   // изменяю данные
   i_pos := ZQuery1.RecNo;
   // здесь открываю данные снова
   ZQuery1.RecNo := i_pos;


получается грид при обновлении дергается т.е. измененная запись становится певой строкой в гриде, хотя ранее была четвертой или десятой.
Как сделать так, чтобы восстанавливать позицию скролинга грида?

чтобы если обновил данные в гриде и скролинг стоял на месте.

Заранее спасибо за консультацию.
midisa
новенький
 
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk

Re: CellToGridZone - в двух словах

Сообщение alexs » 12.03.2014 15:11:12

Это достаточно сложный вопрос. Мне пришлось делать "грязный хак" для расчёта итогов. Вся проблема в том, что после изменения позиции в наборе данных датасет посылает событие, а грид по этому событию проводит центровку данных.
Мне пришлось после перед началом перемещений запомнать позицию в списке буферов датасета, а после - пытаться востановить эту позицию.
Посмотри код метода TRxDBGrid.CalcStatTotals;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: CellToGridZone - в двух словах

Сообщение midisa » 13.03.2014 10:27:32

А в паскале нельзя напрямую работать с полосой прокрутки? Получить значение или установить значение ... Полоса прокрутки должна идти как отдельный элемент управления, хотя я могу ошибаться т.к. мои знания ограничены только Windows API и MFC (при чем только шестой версии).

Добавлено спустя 19 минут 36 секунд:
alexs писал(а):Посмотри код метода TRxDBGrid.CalcStatTotals;


Если этот способ восстановления позиции корректно работает, то наверное нужно сделать две функции, сохранения позиции и восстановления.
Хотя я бы лично не стал полагаться на соединение базы данных ... но если альтернативы нет то конечно ...
midisa
новенький
 
Сообщения: 95
Зарегистрирован: 13.06.2013 18:27:53
Откуда: Omsk


Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru