Форум: "Базы";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];
ВнизИндексация таблицы Найти похожие ветки
← →
Вика (2002-01-26 12:54) [0]Hужно, что бы индексация Table осуществлялась по введённым символам в эдит.
Причём символы могут находиться в любом месте записи.
Решаю через OnFilterRecord
Accept:=Pos(F1.E1.Text,DateSet["xx"])>0;
Как нить можно сделать, что бы таблица фильтровалась без учёта высоты
введённых символов в эдит? Что бы запись "xxxxxxx xxxxxxxQWxxxx"
оставалась после фильтрации не только по введённому "QW" но и
по "qw" ???
Что то функция foCaseInsensitive в FilterOptions у меня не
заработала, как хотелось бы. Где-то, что-то упустила я....
← →
wicked (2002-01-26 16:41) [1]можно сделать и так - на событие OnChange в эдите вешаешь обработчик примерно такого содержания:
if F1.E1.Text <> "" then begin
DateSet.Filter := "xx = " + F1.E1.Text + "*";
DateSet.Filtered := true;
end
else DateSet.Filtered := false;
и включаешь foCaseInsensitive в FilterOptions.....
недостатком такого способа - тормоза при больших наборах данных....
более элегантный способ - обойтись без фильтра... ;)
в тот же обработчик написать:
if F1.E1.Text <> "" then
DateSet.Locate("xx", F1.E1.Text, [loCaseInsensitive, loPartialKey]);
подробности смотри в help"е....
← →
Anatoly Podgoretsky (2002-01-26 23:53) [2]Ты попробовал прежде чем советовать?
2 Вика
Accept:=Pos({Ansi}UpperCase(F1.E1.Text),UpperCase(DateSet["xx"]))>0;
Суть в том, что бы сначала привести к одному регистру.
ЗЫ: это кстати называется фильтрация, а не индексация
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c