Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
3-101096
Vovaka
2002-10-09 15:16
2002.10.31
Знатоки и пользователи Sybase ASE подскажите


3-101173
Mick
2002-10-11 13:41
2002.10.31
Не работает триггер Befor Insert в IB6+Infopower3000


1-101354
SBad
2002-10-19 19:12
2002.10.31
Проблем после компиляции


14-101527
sancho
2002-10-12 23:17
2002.10.31
Давайте обсудим видиоролик см. выше


6-101404
NBLR
2002-08-23 11:45
2002.10.31
NMSmtp и Win95/Win98





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский