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

Вниз

Просмотр TDataSet без фиического перемещения курсора   Найти похожие ветки 

 
Dmitrey   (2002-10-16 09:11) [0]

Нужно во время редактирования записи пользователем узнать значение Record в TDataSet перед и после редактируемой записи.
Например
Record1(Field1,Field2)
Record2(Field1,Field2)
Record3(Field1,Field2)
Record4(Field1,Field2)
Во время редактирования пользователем Record2 нужно знать что находится в Record1 и Record3.


 
Anatoly Podgoretsky ©   (2002-10-16 09:20) [1]

Почему юы не использовать второй набор


 
Johnmen ©   (2002-10-16 09:32) [2]

Узнай перед редактированием...


 
Dmitrey   (2002-10-16 09:49) [3]

Второй набор не успользую по следующим причинам:
- такая ситуация не в одном месте
- перерасход памяти
- сложность синхронизации после операций (Insert,Delete,Filter,Sort,Index)

To Johnmen : по тем же причинам


 
Johnmen ©   (2002-10-16 09:52) [4]

А что же тогда тебе надо ? По сути ?


 
Jeer ©   (2002-10-16 09:56) [5]

>Johnmen © (16.10.02 09:32)
>Узнай перед редактированием...

Дополнение - узнавай перед редактированием по OnAfterScroll или OnBeforeEdit.


 
Jeer ©   (2002-10-16 09:58) [6]

Тогда, как скзано уже, только второй набор.
Ну либо пиши свои методы доступа к локальному набору, что совсем плохо..


 
Dmitrey   (2002-10-16 10:04) [7]

Нужно что-бы работе пользователя с DBGRID (записей порядка 200),
во время редактирования я мог узнать значение предыдущей и последующей после редактируемой записи.

To Jeer:Если поцерится на эти события то для получения значения следующей после редактируемой записи придется делать дополнительное перемещение курсора.Соответствено при простом скролинге эта связка будет тормозить.


 
vads ©   (2002-10-16 10:09) [8]

Если полей в записи немного то можно из значения поиметь через Lookup


 
Sergey13 ©   (2002-10-16 10:23) [9]

2Dmitrey (16.10.02 10:04)
>Нужно что-бы работе пользователя с DBGRID (записей порядка 200),
>во время редактирования я мог узнать значение предыдущей и >последующей после редактируемой записи.
Попробуй в качестве второго набора таблицу в памяти (вроде RxMemoryData) - один экземпляр на все датасеты. Перед просмотром грида скопируй в нее текущий датасет и ползай по нему как хочешь. На таких объемах(200 записей) тормоза и потеря памяти будут минимальными.


 
Jeer ©   (2002-10-16 10:27) [10]

>Dmitrey (16.10.02 10:04)
>Соответствено при простом скролинге эта эта связка будет тормозить

Делае OnBeforeEdit.
User даже не заметит торможения.


 
ЮЮ ©   (2002-10-17 04:34) [11]

У DBGrida есть буфер DataLink, где хранятся строки, отображаемые в данный момент в Gride(он ведь тоде отрисовывает несколько записей, не меняя текущей!!!). Вот там и можно получить поля предыдущей и последующей записей. Проблема останется с первой и последней видимыми записями в гриде. Прийдется принудительно скроллировать Grid при попытке редактирования таких записей.
И главное, в стандартном DBGride DataLink - protected. Поэтому следует использовать RxDBGrid или DBGridEh.



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
4-11543
raiks
2002-09-22 11:55
2002.11.04
Подавить звук, производимый системой при нажатии на Enter в TEdit


1-11224
Weare
2002-10-24 17:43
2002.11.04
Не работает печать


4-11565
chsv
2002-09-16 18:57
2002.11.04
как изменить в сис.меню Alt+F4 на Ctrl+F4?


1-11259
Whippi
2002-10-23 10:05
2002.11.04
Ваабще ничего не понимаю, помогите разобраться


4-11564
sadreg
2002-09-13 23:20
2002.11.04
Надо взять содержимое одного из лэйблов диалогового окна