Главная страница
    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-13187
Barlok
2003-05-26 19:14
2003.06.05
Вопрос по массивам ?


1-13149
OlegM
2003-05-26 08:15
2003.06.05
Вопрос по PageControl


14-13366
Dabadabiabo
2003-05-16 11:40
2003.06.05
Высота строки в DBGrid е


14-13411
acsoft
2003-05-18 09:42
2003.06.05
Как написать объект так, чтобы потом текст юнита нельзя было проч


1-13247
Felixx
2003-05-22 13:21
2003.06.05
TPopupActionBar





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