Главная страница
    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.013 c
3-12998
Аноним
2003-05-19 01:00
2003.06.05
Кэширование изменений


3-13041
alleb
2003-05-16 17:44
2003.06.05
ADO и ClientDataSet


3-13099
alxx
2003-05-19 11:34
2003.06.05
Backup Интербейзовой базы


14-13421
Spartak
2003-05-19 07:50
2003.06.05
Проблема с написанием сервиса


14-13392
Till
2003-05-16 07:39
2003.06.05
Oracle Data Access Components Net 4.05.1.8 for Delphi 6





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