Crosstab при динамическом удалении колонки не корректно удаляются колонки из Total, Grandtotal
Добрый день.
Есть отчёт вида см. рис. 1 (в настройках кросс-таба с опции "ячейки одной строкой" галочка снята)
В коде программы (на Delphi) динамически удаляю колонки FACT, NORM, DELTA таким вот способом:
допустим св-во NeedDelDelta=True, в результате колонка-строка DELTA везде удаляется нормально, но вот в подитоге колокни/строки Col1 и в общем итоге удаляется не корректно (см. рис. 2).
Подскажите, пожалуйста, как исправить данную проблему?
Есть отчёт вида см. рис. 1 (в настройках кросс-таба с опции "ячейки одной строкой" галочка снята)
В коде программы (на Delphi) динамически удаляю колонки FACT, NORM, DELTA таким вот способом:
with frxDBCross do
begin
for i := CellFields.Count - 1 downto 0 do
if (NeedDelFact and (CellFields[i] = 'FACT')) or
(NeedDelNorm and (CellFields[i] = 'NORM')) or
(NeedDelDelta and (CellFields[i] = 'DELTA')) then
begin
CellFields.Delete(i);
for j := i to CellLevels - 2 do
begin
CellHeaderMemos[j].AssignAll(CellHeaderMemos[j+1]);
CellMemos[j].AssignAll(CellMemos[j + 1]);
CellFunctions[j] := CellFunctions[j+1];
end;
for j := 0 to CellLevels - 2 do
begin
if (j >= i) then
k := j + 1
else
k := j;
CellMemos[(CellLevels-1)*RowLevels+j].AssignAll(CellMemos[CellLevels*RowLevels+k]);
CellFunctions[(CellLevels-1)*RowLevels+j] := CellFunctions[CellLevels*RowLevels+k];
end;
CellLevels := CellLevels-1;
end;
end;
допустим св-во NeedDelDelta=True, в результате колонка-строка DELTA везде удаляется нормально, но вот в подитоге колокни/строки Col1 и в общем итоге удаляется не корректно (см. рис. 2).
Подскажите, пожалуйста, как исправить данную проблему?
Комментарии
P.S. не документированные возможности кросса для меня как черный ящик