Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизФильтрация <B>FIBDataSet</B> Найти похожие ветки
← →
ANDR (2003-01-30 19:31) [0]Добрый вечер. Просветите, возможно-ли используя локальную
фильтрацию в FIBDataSet задать условие фильтрации, получить
отфильтрованный датасет, а затем задать еще одно условие, но
чтобы фильтровались только записи отобранные по первому условию.
← →
Andriano (2003-01-31 07:56) [1]С помощью события OnFilterRecord можно состряпать фильтр ЛЮБОЙ сложности.
Говоришь:
filtered:=false;
filtered:=true;
И FIBDataSet перефильтруется.
← →
ANDR (2003-01-31 09:56) [2]Спасибо, это понятно, вопрос в другом.
При OnFilterRecord условие фильтра применяется для каждой
записи датасета. Возможно-ли вызывать OnFilterRecord только
для тех записей котщрые вернуло предыдущ OnFilterRecord.
Например.
ДИНАМО МОСКВА
СПАРТАК МОСКВА
ДИНАМО КИЕВ
ФИЛЬТР-ДИ ДИНАМО МОСКВА
ДИНАМО КИЕВ
ФИЛЬТР-МО ДИНАМО МОСКВА
СПАРТАК МОСКВА
А надо после "МО" получить только: ДИНАМО МОСКВА
← →
Asgard (2003-01-31 12:45) [3]Для такого случая есть предложение каждый раз перестраивать select в соответствии с историей изменения фильтра.
← →
ShuraGrp (2003-01-31 13:05) [4]А условие Filter не подходит. Работает С версии 4.6
← →
KDS (2003-01-31 15:05) [5]ТипаДатаСет.Filter:="(УсловиеФильтрации№1)and(УсловиеФильтрации№2)";
И все дела тут
← →
ANDR (2003-01-31 17:43) [6]Правду говорят что надо учиться задавать вопросы.
Asgard (31.01.03 12:45)
> Для такого случая есть предложение каждый раз перестраивать
> select в соответствии с историей изменения фильтра.
Понятно, но не хочется нагружать сервер.
Пример от фонаря и наверное все подумали что там два столбца?
В реальной базе список клиентов.
**************************************
* ClNAME *
**************************************
ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
ЧП МЕТАЛЛСЕРВИС
ЗАВОД ФЕРРОСПЛАВОВ
ООО МЕТАЛЛИСТ
ЗАВОД ТРУБОЛИТ
и т.д.
ТипаДатаСет.Filter:= ИМХО работает частичным совпадением только
от начала строки
OnFilterRecord с Accept:=pos( ) бысто выбирает любую подстроку,но вызывается для каждой записи, а желается
от лени ввести в Edit "ЗАВ" и получить:
ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
ЗАВОД ФЕРРОСПЛАВОВ
ЗАВОД ТРУБОЛИТ что и получаем
потом ввести "МЕТ" и получить
ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
а получаем
ЗАВОД МЕТАЛЛОКОНСТРУКЦИЙ
ЧП МЕТАЛЛСЕРВИС
ООО МЕТАЛЛИСТ
Может как-то настраивается или пусть авторы фибов напрягаются
массив в pos() передавать. Уплочено-ж.
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c