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

Вниз

Тормоза после фильтрации   Найти похожие ветки 

 
Lamer   (2003-05-15 16:38) [0]

Мастера. Помогите. До фильтрации всё нормально. Нормально выполняются все режимы. Но стоит провести фильтрацию, как эти же действия выполняются на жутких тормозах. Вот пример кода, который начинает тормозить:
procedure TForm1.CheckBox1Click(Sender: TObject);
var
check:boolean;//индикатор нажатости Checkbox
current:integer;//нужен для индикации хода заполнения combobox данными
begin
form1.table1.filtered:=false;//чтобы перебор был по всей таблице
if checkbox1.Checked then// если при щелчке checkbox уже был в состоянии checked..
check:=false
else
check:=true;

if check=false then
begin
Form1.Table1.First;
Combobox4.Clear;
current:=0;
gauge1.Progress:=current;
While not Form1.Table1.Eof do
begin
if form1.table1.fieldbyname("Word").asstring=stimul then
if (Combobox4.items.indexof(form1.table1.fieldbyname("Answer").asstring)=-1)and(Form1.table1.FieldByName("Answer").asstring<>"") then
combobox4.items.add(Form1.table1.fieldbyname("Answer").asstring);
Form1.table1.next;
inc(current);
gauge1.Progress:=current;
end;
combobox4.itemindex:=0;
Form1.table1.first;
end
else// если был checked, то всё зачистить
begin
combobox4.clear;
gauge1.progress:=0;
end;

end;
После этого я провожу фильтрацию по одному из пунктов combobox"a.
Смортю результат и отменяю фильтрацию (filtered:=false);
После этого процедура начинает тормозить при выполнении.


 
гончий   (2003-05-15 16:45) [1]

У тебя в afterscroll не вызывается RecordCount случайно, он как раз и имеет свойство тормозить после фильтрации...


 
Lamer   (2003-05-15 16:56) [2]

Используется для определения: gauge1.MaxValue:=form1.table1.RecordCount;
Выставил его в 20000(чтобы наверняка) в инспекторе в коде закомментировал. Ничего не изменилось.:(


 
Lamer   (2003-05-15 17:25) [3]

Мастера. Поправка. Как выяснил, дело даже не в фильтрации.
На форме несколько закладок(pagecontrol). На первой задаются параметры фильтрации, на второй - отображается собственно таблица(10000 записей), на третьей - просто информация. Даже при простом переключении между закладками 1 и 2 всё начинает тормозить.


 
ЮЮ   (2003-05-16 03:07) [4]

А когда, ты думаешь, производится фильтрация? Именно при необходимости отобразить в гриде - отсюда и тормоза. Пора уже пользоваться цивилизованными методами отбора записей - запросами



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

Форум: "Базы";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
1-13170
alexus
2003-05-21 11:32
2003.06.05
мерцание Image


3-13044
k-129_rro
2003-05-15 20:29
2003.06.05
на примере PickList


3-13084
DruKiller
2003-05-17 21:58
2003.06.05
Скрещивание Delphi и MySQL


14-13367
@Ujin
2003-05-16 18:29
2003.06.05
Где бы так добыть DBGrid с переносом строк по словам в ячейке?


1-13261
Q
2003-05-22 17:15
2003.06.05
работа с PChar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский