изменение среза куба без пересчета
Есть куб с большим массивом данных. Часто приходится его перестраивать(менять поля, показатели) при этом на каждое изменение поля наблюдаем пересчет среза что утомляет.
Как выход повесил кнопку "Начало изменений - Конец изменений" с кодом
Но грид при этом не совсем корректно перерисовывается (поля визуально не добавляются, убираются тоже не корректно).
Может не досмотрел и есть механизм для реализации этого?
Т.е. набросал поля (они отобразились) и нажал рассчитать.
Надеюсь понятно написал. Заранее спасибо.
Как выход повесил кнопку "Начало изменений - Конец изменений" с кодом
procedure TAnalizeForm.btnPClick(Sender: TObject);
begin
if btnP.Caption = 'End' then begin
fcSlice.BeginUpdate;
btnP.Caption := 'Begin';
end else begin
fcSlice.EndUpdate;
btnP.Caption := 'End';
end;
end;
Но грид при этом не совсем корректно перерисовывается (поля визуально не добавляются, убираются тоже не корректно).
Может не досмотрел и есть механизм для реализации этого?
Т.е. набросал поля (они отобразились) и нажал рассчитать.
Надеюсь понятно написал. Заранее спасибо.
Комментарии
Да, BeginUpdate - EndUpdate служат для группировки изменений и между этими командами не следует вызывать отрисовку, так как ряд структур может быть не создана и отображаемые данные могут быть некорректны.
Как вариант, для Вашего случая, могу предложить располагать поле ПОКАЗАТЕЛИ в области фильтров до настройки осей. В этом случае расчет показателей не происходит.
С уважением, Олег.