Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
Мефодий   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
14-24684
chyaynik
2003-08-19 19:57
2003.09.08
Серьёзный вопрос


1-24405
PaveL
2003-08-27 13:26
2003.09.08
CheckBox в таблице


6-24610
UserName
2003-07-03 20:47
2003.09.08
record и SendBuf ReceiveBuf


4-24755
Igor__
2003-07-09 12:11
2003.09.08
Метод хранения BitMap в памяти


1-24447
AHTOH
2003-08-24 22:08
2003.09.08
создание неизвестного заранее колва объектов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский