Вниз
Скачать: CL | DM;

Фильтр Query   Найти похожие ветки 

 
stoper   (2003-10-03 13:17) [0]

Я устонавливаю фильтрацию по какому нибудь полю все нормально.Но как только я устонавливаю фильтрацию снова, то она действует только на данные предидущего отфильтрованого набора.Т.е. даные которые не подходят под условия первой фильтрации теряются.
Что уже только не делал. На даном этапе имеем следущий код

procedure TForm3.Button1Click(Sender: TObject);
begin
if Query1.Filtered then Query1.Filtered:=false;
Query1.Filtered:=true;
end;

procedure TForm3.Query1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=(DataSet["sum1"]>=strtofloat(form3.Edit1.Text)) and (DataSet["sum1"]<=strtofloat(form3.Edit2.Text));
end;


 
Rem ©   (2003-10-03 13:31) [1]

Мне особо понравился конструктив:
if Query1.Filtered then Query1.Filtered:=false;
Query1.Filtered:=true;

Обнови запрос:
Query1.Refresh;


 
Rem ©   (2003-10-03 13:32) [2]

А вообще... перемести условия отбора из OnFilterRecord в условия запроса.


 
Johnmen ©   (2003-10-03 13:47) [3]

>...то она действует только на данные предидущего отфильтрованого набора...

Ты это видишь где-то ? Скорее всего - да. Тогда просто обнови отрисовывание контрола, на котором видишь.


 
stoper   (2003-10-03 14:16) [4]

Rem, ты бы не умничал,запрос там не архисложный ну и не простой.Выборка идет 15 сек.Фильтр в наборе срабатывает первый раз в мгновение ока.
2 Никакие обновления не помогают . Не ужто никто не знает.


 
Rem ©   (2003-10-03 14:32) [5]

>> Rem, ты бы не умничал

И осталась баба с разитым корытом...


 
SPIRIT ©   (2003-10-03 14:52) [6]


procedure TForm3.Button1Click(Sender: TObject);
begin
if Query1.Filtered then Query1.Filtered:=false;
Query1.Filtered:=true;
end;

замени

procedure TForm3.Button1Click(Sender: TObject);
begin
Query1.Filtered:=false;
// здесь условие фильтра ....
Query1.Filtered:=true;
end;


так нас в универе учили :)


 
Johnmen ©   (2003-10-03 14:55) [7]

> [3]

Ну попробуй DisableControls EnableControls



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
3-74002
Karlson
2003-09-30 17:40
2003.10.23
DBLookupComboBox


7-74510
suric
2003-08-06 14:26
2003.10.23
Программирование USB под Win32


3-73975
Slym
2003-09-30 05:19
2003.10.23
Нужен компонент DBTreeView, но не для одной таблицы с рекурсивным


3-74075
Ada
2003-09-25 11:29
2003.10.23
Создание индекса таблицы dBaseIII+


1-74274
SiJack
2003-10-13 09:13
2003.10.23
програмно снять с Edit выделение текста




   Наверх