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

Вниз

ПРИВЕТ ВСЕМ! Метод Locate возвратит мне true и...   Найти похожие ветки 

 
@andrew ©   (2002-12-23 11:27) [0]

поставит курсор на найденную запись, а как бы мне узнать, что такая запись не одна и соотв. перейти на следующую, удовлетворяющую условиям поиска. Есть что-то вроде LocateNext :?)


 
MsGuns ©   (2002-12-23 11:38) [1]

Способов несколько, но, к сожалению, все надо писать ручками.

1-й. Простым просмотром записей с отключением грида от датасорса и использованием букмарки для возврата назад в случае неудачного поиска. В конце поиска присоединять к гриду ds

2-й. Выполнить запрос и искать не в "родном" НД, а в том, что вернул query. При обнаружении делать Locate в "родном" НД, например, по уникальному идентификатору записи.

3-й. Использовать "параллельный" НД в памяти, а в нем искать простым последовательным пробегом. Годитсядля относительно небольших НД.

4-й. Опять же использовать запрос, но указывать доп.условие типа WHERE ID > <Идент-р текущей записи>


 
sniknik ©   (2002-12-23 12:37) [2]

+5-й. Поставить нужный фильтр, и FindFirst, FindNext, FindPrior по нему, не применяя к датасет (filtered=false). (работает для ADO) FindNext при невыполнении фильтра оставит курсор на месте.


 
Anatoly Podgoretsky ©   (2002-12-23 12:49) [3]

MsGuns © (23.12.02 11:38)
2-й. Не требует поиска, а только перемещение


 
MsGuns ©   (2002-12-23 12:56) [4]

>Anatoly Podgoretsky © (23.12.02 12:49)
>MsGuns © (23.12.02 11:38)
>2-й. Не требует поиска, а только перемещение

Перемещение по 2-му НД (под словом "искать" я имел в виду перемещение Prior/Next с простой проверкой на Bof/Eof), а в родном все же Locate несколько шустрее, чем тупое Next с проверками 8). Или я не прав ?



--------------------------------------------------------------------------------


 
Anatoly Podgoretsky ©   (2002-12-23 13:00) [5]

MsGuns © (23.12.02 12:56)
Я на них и намекал, перемещение по полученому набору, который соответствует Locate - очень шустро и логика ояень простая
Альтернативу назвали - фильтр, но это может быть очень медленно, если записей в фильтре мало, а исходных много.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
14-49197
aga
2002-12-26 08:41
2003.01.16
Реестр


14-49205
Dm9
2002-12-29 00:46
2003.01.16
Защита администратора


3-48947
Nickolaus
2002-12-21 23:12
2003.01.16
Не подключиться к Interbase 6.5 из cgi


1-49110
Alex S
2003-01-04 15:15
2003.01.16
Взаимодействие с MS Office


3-48906
Senka
2002-12-18 03:24
2003.01.16
Не сохраняется запись в поле русским шрифтом.