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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-13296
DDDeN
2003-05-23 09:38
2003.06.05
Ввод в TEdit только цифры


14-13368
Страждущий
2003-05-20 22:09
2003.06.05
вложения в письмах


3-13067
Avreliy
2003-05-17 21:21
2003.06.05
record already locked by this session


14-13470
GigoVich
2003-05-03 20:39
2003.06.05
Карточная Игра - Реально то что возможно...


3-13039
Jaxtor
2003-05-16 14:24
2003.06.05
Организация ссылочной целостности