Документация HotXLS

Класс TXLSXStructuralEditRegistry

TXLSXWorksheet.StructuralEditRegistry координирует обновления, чувствительные к ссылкам, после вставки и удаления строк или столбцов

Встроенные участники всегда обновляют формулы HotXLS, имена, проверки, условные форматы, примечания, гиперссылки, рисунки, таблицы, привязки запросов, сценарии, таблицы данных, метаданные печати, защищённые диапазоны, спарклайны, типизированные сводные таблицы и распознаваемые сохранённые ссылки расширений

Приложения могут регистрировать упорядоченных участников для собственных метаданных листа без замены встроенной транзакции

Объявления

type
  TXLSXStructuralEdit = record
    RowFrom: Integer;
    RowDelta: Integer;
    ColFrom: Integer;
    ColDelta: Integer;
  end;

  IXLSXStructuralEditParticipant = interface
    procedure ApplyStructuralEdit(Worksheet: TXLSXWorksheet;
      const Edit: TXLSXStructuralEdit);
  end;

  TXLSXStructuralEditRegistry = class
    procedure RegisterParticipant(
      const Participant: IXLSXStructuralEditParticipant);
    procedure UnregisterParticipant(
      const Participant: IXLSXStructuralEditParticipant);
    procedure Clear;
    property Count: Integer;
  end;

Поля правки

RowFromПервая затронутая строка с отсчётом от 1 или ноль, когда строки не изменены
RowDeltaПоложительное количество вставленных строк или отрицательное количество удалённых строк
ColFromПервый затронутый столбец с отсчётом от 1 или ноль, когда столбцы не изменены
ColDeltaПоложительное количество вставленных столбцов или отрицательное количество удалённых столбцов

Правила участников

Пример

type
  TMetadataUpdater = class(TInterfacedObject,
    IXLSXStructuralEditParticipant)
  public
    procedure ApplyStructuralEdit(Worksheet: TXLSXWorksheet;
      const Edit: TXLSXStructuralEdit);
  end;

Updater := TMetadataUpdater.Create;
Sheet.StructuralEditRegistry.RegisterParticipant(Updater);
Sheet.InsertRows(4, 2);

См. также