Форум: "Базы";
Текущий архив: 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