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

Вниз

Проблема с отображением числа записей отфильтрованной таблицы   Найти похожие ветки 

 
Мефодий   (2003-08-14 16:45) [0]

Есть DBF таблица Table1.
На Form1 разместил DBGrid 1, Edit1 и Label1.
Прописаны следующие события.

procedure TForm1.Edit1Change(Sender: TObject);
begin
with Table1 do
begin
if Length(Edit1.Text) = 0 then
begin
Filtered := False;
Label1.Caption := IntToStr(RecordCount);
First;
Exit;
end;
Filtered := True;
Label1.Caption := IntToStr(RecordCount);
end;
end;

procedure TDM.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
Accept := Pos(Edit1.Text,Table1.FieldByName("A").AsString)) > 0
end;

При первом вхождении в программу и начале набора текста в Edit1 все нормально, т.е. число записей в Label1.Caption последовательно уменьшается и соответствует числу записей, отображаемых в DBGrid1. Когда же нажимаю Backspace, число отображаемых в DBGrid1 записей, естественно, увеличивается, однако Label1.Caption свое значение не меняет. Более того, если при Length(Edit1.Text) = 0 оно правильно отображает общее число записей неотфильтрованной таблицы, то при повторном наборе текста вообще начинает показывать ерунду. В чем тут дело ? Если кто встречался с такой проблемой прошу отозваться. Заранее благодарен.


 
Anatoly Podgoretsky ©   (2003-08-14 16:58) [1]

Значит оно изменяется после срабатывания данного обработчика
попробуй
Filtered := False;
Filtered := True;
может поможет


 
Мефодий   (2003-08-15 09:42) [2]

Пробовал, не помогает !


 
Johnmen ©   (2003-08-15 10:05) [3]

Как пробовал ? Код ?


 
Anatoly Podgoretsky ©   (2003-08-15 10:08) [4]

Еще иногда надо перемещеие, First


 
Мефодий   (2003-08-15 12:23) [5]

>>Как пробовал ? Код ?

procedure TForm1.Edit1Change(Sender: TObject);
begin
with Table1 do
begin
Filtered := False;
if Length(Edit1.Text) = 0 then
begin
Label1.Caption := IntToStr(RecordCount);
First;
Exit;
end;
Filtered := True;
Label1.Caption := IntToStr(RecordCount);
end;
end;

Не помогает и First.


 
Johnmen ©   (2003-08-15 12:26) [6]

А он и не поможет. Если сразу то Exit. :)))


 
Мефодий   (2003-08-15 20:51) [7]

>> А он и не поможет. Если сразу то Exit

Exit только в случае пустой строки.



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
1-24452
_DarkSide
2003-08-25 15:50
2003.09.08
Люди чё за косяк с LowerCase и UpperCase?


6-24602
panov
2003-07-02 16:02
2003.09.08
WinSock2 API: количество дескрипторов.


14-24661
got_the_life
2003-08-19 18:27
2003.09.08
Помогите noob у!


14-24690
Мазут Береговой
2003-08-19 09:58
2003.09.08
Ну, вот и дождались!


3-24340
Зозуля Юрий
2003-08-18 10:32
2003.09.08
Как привести тип dbitblname