Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: CL | DM;

Вниз

Номер выделенной строки в гриде.   Найти похожие ветки 

 
Bishop   (2002-10-09 11:18) [0]

Уважаемые мастера! Делаю автообновление грида с помощью переоткрытия датасета. Необходимо, чтобы после обновления сохранилось местоположение выделенной записи в гриде. Сейчас, если сделать locate по ключу записи, то она "прыгает" вниз грида,даже если до обновления она была посередине.


 
Desdechado ©   (2002-10-09 11:32) [1]

1. положение строки в гриде зависит от способа выбора данных, сортировок и т.д.
2. locate делать лучше при Dataset.DisableControls, а после locate - EnableControls, тогда не будет мелькания


 
Sergey13 ©   (2002-10-09 11:32) [2]

Уж не ты ли мечтал сделать видимыми текущие изменения, сделанные другими пользователями? Ты? Ну ты щас завалишь всех вопросами.
8-)


 
Bishop   (2002-10-09 11:46) [3]

Desdechado, я так и делаю. Но выделенная строка после обновления смещается вниз.

Sergey13, да :))


 
AM   (2002-10-09 11:50) [4]

Если делать только locate, то после обновления картина в гриде будет меняться, т. к. locate при отображении в гриде всегда пытаеся найденную запись поставить в середину грида (если для этого хватает записей).

Есть такое Protected свойство Row с ним надо играть.

type
TMyGrid = class (TDBGrid)
public
property IndicatorOffset;
property Row;
end;

Незнаю кто как решал эту задачу, а я решил тем что написал 3 процедуры, 1 b 2-ая сохраняют в переменные информацию о состоянии грида, а вторая восстанавливает после обновления первоначальное состояние Grid-a.
Принцип такой:
DMDocs.QueryWorker.DisableControls;
LocVal:= DMDocs.QueryWorker.FieldValues["ID"];
Row_Up:= ReadRowUp(DBGrid1);
Row_Down:= ReadRowDown(DBGrid1);
DMDocs.QueryWorker.Active:= False;
DMDocs.QueryWorker.Active:= True;
DMDocs.QueryWorker.Locate("ID", LocVal, []);
RestoreRow(Row_Up, Row_Down, DBGrid1);
DMDocs.QueryWorker.EnableControls;


 
Desdechado ©   (2002-10-09 11:58) [5]

вниз грида или вниз относительно отображаемого прошлого положения?


 
AM   (2002-10-09 12:09) [6]

>> выделенная строка после обновления смещается вниз.

если всегда только вниз смещается, то тут что-то другое... чем я предполагал...
делается ли (меняется) сортировка во время обновления, может в этом причина?

и еще ответь на вопрос: Desdechado © (09.10.02 11:58)


 
Johnmen ©   (2002-10-09 12:24) [7]

>Bishop

Подумай хорошенько, а надо ли тебе это ?
Если решишь, что надо, то поднимай архивы форума за последние 4 месяца - было предложено решение, причем работающее...
(Если сильно напрягусь, может и вспомню сам...:))


 
Bishop   (2002-10-09 12:33) [8]

AM, спасибо, очень интересная идея.

Desdechado, вниз.



Страницы: 1 вся ветка

Текущий архив: 2002.10.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
1-101222
Weare
2002-10-21 18:42
2002.10.31
Как узнать текущую директорию


3-101080
MAXL
2002-10-14 10:53
2002.10.31
ПРОБЛЕМА С ADOTable и MSAccess работаю с DELPHI 7


14-101523
Николай Быков
2002-10-09 14:40
2002.10.31
Виктор Цой


3-101151
Vova77
2002-10-11 09:10
2002.10.31
Overflow while converting variant of type (date)into type(data)


4-101574
disa
2002-09-19 12:33
2002.10.31
Управление приложениями