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

Вниз

Туманный вопрос про дбгрид   Найти похожие ветки 

 
Andrey V.   (2003-10-15 08:47) [0]

Хочется чтобы грид при переоткрытии датасета не изменялся . Сейчас поясню что я имею в виду.
Допустим мы стоим на какой-то строке. Если закрыть/открыть датасет (и позиционироваться на ту же строку, где мы были) то мы можем оказкться (скорее всего) не в том месте относительно координат ЭКРАНА. ТО есть если я стою на строке N , а визуально это 5-я, к примеру , строка сверху , то и после переоткрытия хочется , чтобы это была 5-я строка сверху.
Вот такой Subj.


 
KSergey ©   (2003-10-15 09:00) [1]

У грида, если ничего не путаю, есть св-ство типа TopRow или что-то подобное
Попробуйте его запользовать


 
Izyum ©   (2003-10-15 09:46) [2]

Используй Bookmark.
Либо сам (без закладок) запоминай позицию, отключай обновление контролов, закрывай/открывай дадасет, переходи на нужную тебе запись, включай обновление контролов.


 
KSergey ©   (2003-10-15 10:06) [3]

Тут, как я понял, не про букмарки речь, а именно по позицию активной строки на экране.
Судя по "(и позиционироваться на ту же строку, где мы были)" про букмарки человек в курсе.


 
Izyum ©   (2003-10-15 10:07) [4]

Ну дык перед всеми манипуляциями делаем DisableControls, а после EnableControls - на экране все без изменений.


 
Johnmen ©   (2003-10-15 10:11) [5]

>Izyum © (15.10.03 10:07)

Не-а...:)


 
Izyum ©   (2003-10-15 10:13) [6]


> Johnmen © (15.10.03 10:11) [5]


Не-а... Это понимать как "не работает" или "не подходит"?


 
Vlad ©   (2003-10-15 10:14) [7]

Возможно ScrollBy поможет


 
Johnmen ©   (2003-10-15 10:21) [8]

>Izyum © (15.10.03 10:13)

1. Не то.
2. "на экране все без изменений."
Утверждение ошибочно.

>Andrey V.

Есть кусок кода по данному вопросу.


 
Izyum ©   (2003-10-15 10:24) [9]


> Johnmen © (15.10.03 10:21) [8]

У меня конечно нет медальки МАСТЕР в анкете, а посему спорить не буду, но...
У меня таблица переоткрывается без изменения грида вот так, и все работает.
<cade>
procedure TMainDM.GetClientsList;
var
i: integer;
begin
i:=Clients["id_c"];
Clients.DisableControls;
Clients.Close;
Clients.Open;
Clients.EnableControls;
Clients.Locate("id_c", i, []);
end;


 
Izyum ©   (2003-10-15 10:26) [10]


> Izyum © (15.10.03 10:24) [9]

Может где ошибся в коде - писал по памяти.


 
Johnmen ©   (2003-10-15 10:33) [11]

>Izyum © (15.10.03 10:24)

Медальки здесь непричем :) И спорить надо, если есть аргументы...
Попробуй так: давим на кнопу вниз, пока не переместимся к примерно середине НД, в котором кол-во записей больше 2*<макс.количество линий, выводимых в грид>. Потом - описанные тобой действия. Что получается ?


 
Izyum ©   (2003-10-15 10:36) [12]


> Johnmen © (15.10.03 10:33) [11]

Все вроде бы работало, хотя точно не пмню. Сейчас Делфей под рукой нет - вечером дома попробую, если успею.


 
Andrey V.   (2003-10-15 11:02) [13]

Дискуссия идет в верном направлениии , но пока безрезультатно.

Johnmen
>Есть кусок кода по данному вопросу.
Это вопрос или предложение ? :o)


 
Johnmen ©   (2003-10-15 11:17) [14]

>Andrey V. (15.10.03 11:02)
>Это вопрос или предложение ? :o)

Это то, что соответствует указанному мною знаку препинания.
:)))))


 
Andrey V. ©   (2003-10-15 11:46) [15]

Я , в лице прочих , рад за тебя :-)
Покажешь ?


 
Johnmen ©   (2003-10-15 12:12) [16]

>Andrey V. © (15.10.03 11:46)

Могу выслать.


 
Andrey V. ©   (2003-10-15 12:22) [17]

Жду.Спасибо.


 
Izyum ©   (2003-10-15 12:53) [18]


> Johnmen © (15.10.03 12:12) [16]

Тоды и мне, плиз: izum(собака)fromru.com


 
Izyum ©   (2003-10-15 13:33) [19]

Код поглядел, вечером попробую, но... Если я правильно понял (на вскидку), он после открытия датасета просто прокручивает грид на определенную дистанцию (дистанцию именно она и расчитывает). А если запрос сложный, БД большая, и, соответственно, открывается он долго. Грид все равно будет "дергаться". Если конечно пропадание инфы из грида не критично, а важно только точно после переоткрытия позиционироваться - то да.



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

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

Наверх




Память: 0.51 MB
Время: 0.047 c
3-41055
Стас
2003-10-24 12:29
2003.11.13
Вопросы по базам данных


14-42070
MBo
2003-10-20 10:15
2003.11.13
Поздравляю мастеров-неофитов!


3-40923
Nton
2003-10-19 15:30
2003.11.13
Подскажите как правильно записать?


3-40843
Uran
2003-10-21 17:26
2003.11.13
Выборка из IB русских символов с помощью UPPER


3-40783
Geugenk
2003-10-26 15:22
2003.11.13
Есть какие-то свойства у Ttable которые отключают отличие значени