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

Вниз

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

Наверх





Память: 0.46 MB
Время: 0.011 c
3-11059
Duce
2002-10-14 14:28
2002.11.04
Возврат курсора TQuery в прежнюю позицию после обновления


14-11413
1g0r
2002-10-14 18:42
2002.11.04
Проблема с почтовыми клиентами (Outlook)


8-11341
AlexanderVasjuk
2002-07-09 15:20
2002.11.04
Создание MP3


1-11323
John Magic
2002-10-24 08:30
2002.11.04
Временное окно


1-11283
turusov
2002-10-23 13:46
2002.11.04
Новое в OpenDialog





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский