Поиск в ClientDataSet
От: igor_andru  
Дата: 16.11.04 23:57
Оценка:
Народ подскажите как искать строку в каком ни будь столбце но
типа LIKE 'отдел%'
а типа LIKE '%отдел%' т.е. вхождение подстроки в строку

Или может быть в самом DBGrid(е) как то можно реализовать

Заранее благодарен
Re: Поиск в ClientDataSet
От: Rasby Россия  
Дата: 17.11.04 06:36
Оценка:
Здравствуйте, igor_andru, Вы писали:

_>Народ подскажите как искать строку в каком ни будь столбце но

_>типа LIKE 'отдел%'
_>а типа LIKE '%отдел%' т.е. вхождение подстроки в строку

_>Или может быть в самом DBGrid(е) как то можно реализовать


_>Заранее благодарен


Можно сделать так: в событии OnFilterRecord объекта ClientDataSet пишешь свой код фильтрации строки (доступ к строке тебе передается через параметр Dataset) и, если строка удовлетворяет твоим требованиям, то присваиваешь переменной Accept значение True, если нет, то False. Ну а вхождение подстроки в строку можно определить с помощью функции Pos.
Re[2]: Поиск в ClientDataSet
От: igor_andru  
Дата: 17.11.04 23:45
Оценка:
Здравствуйте, Rasby, Вы писали:

Спасибо за ответ. Я на самом деле не доконца объяснил ситуацию.

Фильтрации записей происходить не должно.
Идея в том чтобы перемещаться при поиске по списку в низ от записи к записи в которой будет обнаружено вхождение. Частично похоже на то что делает ClientDataSet.Locate только с вхождением не только в начало строки.

Если кто откликнится заранее спасибо.
Re[3]: Поиск в ClientDataSet
От: psm Россия  
Дата: 18.11.04 02:52
Оценка:
Здравствуйте, igor_andru, Вы писали:

_>Идея в том чтобы перемещаться при поиске по списку в низ от записи к записи в которой будет обнаружено вхождение. Частично похоже на то что делает ClientDataSet.Locate только с вхождением не только в начало строки.


Отсортировать.
... << RSDN@Home 1.1.4 beta 2 >>
Re[3]: Поиск в ClientDataSet
От: Rasby Россия  
Дата: 18.11.04 06:05
Оценка:
Здравствуйте, igor_andru, Вы писали:

_>Здравствуйте, Rasby, Вы писали:


_>Спасибо за ответ. Я на самом деле не доконца объяснил ситуацию.


_>Фильтрации записей происходить не должно.

_>Идея в том чтобы перемещаться при поиске по списку в низ от записи к записи в которой будет обнаружено вхождение. Частично похоже на то что делает ClientDataSet.Locate только с вхождением не только в начало строки.

_>Если кто откликнится заранее спасибо.


Как вариант: в событии OnFilterRecord для каждой строки присваивай переменной Accept значение True, но в какой-нибудь глобальной переменной сохрани ID нужной строки, и после окончания фильтрации вызови метод Locate.
Re[3]: Поиск в ClientDataSet
От: Leonid Troyanovsky  
Дата: 18.11.04 06:35
Оценка:
Здравствуйте, igor_andru, Вы писали:

_>Идея в том чтобы перемещаться при поиске по списку в низ от записи к записи в которой будет обнаружено вхождение. Частично похоже на то что делает ClientDataSet.Locate только с вхождением не только в начало строки.


Может я чего-то не понимаю, но кто мешает, поставив закладку
на текущую запись, идти вниз (Next) до вхождения.
Закладка пригодится, если вхождения не обнаружится.
См. также DisableControls/EnableControls.
--
С уважением, LVT
Re[4]: Поиск в ClientDataSet
От: igor_andru  
Дата: 22.11.04 01:52
Оценка:
Здравствуйте все
спасибо вам ребята БОЛЬШОЕ.

Игорь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.