Главная страница
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.01 c
3-101125
Wetnose
2002-10-08 08:11
2002.10.31
ERWin и русский шрифт


14-101457
Шишкин Илья
2002-10-09 19:48
2002.10.31
За что дают звание


3-101115
Юра
2002-10-09 16:37
2002.10.31
Сортировка на украинском.


1-101243
Wolf226
2002-10-22 09:27
2002.10.31
Склонение падежей


14-101480
Карлсон
2002-10-11 16:42
2002.10.31
про 2HD дискеты.