Documentação HotXLS

Classe TXLSXStructuralEditRegistry

TXLSXWorksheet.StructuralEditRegistry coordena atualizações sensíveis a referências após a inserção e eliminação de linhas ou colunas

Os participantes incorporados atualizam sempre fórmulas HotXLS, nomes, validações, formatos condicionais, comentários, hiperligações, desenhos, tabelas, ligações de consultas, cenários, tabelas de dados, metadados de impressão, intervalos protegidos, mini-gráficos, tabelas dinâmicas com tipos e referências de extensão preservadas reconhecíveis

As aplicações podem registar participantes ordenados para os seus próprios metadados de folha de cálculo sem substituir a transação incorporada

Declarações

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;

Campos de edição

RowFromPrimeira linha afetada com base em um, ou zero quando as linhas não são alteradas
RowDeltaContagem positiva de linhas inseridas ou contagem negativa de linhas eliminadas
ColFromPrimeira coluna afetada com base em um, ou zero quando as colunas não são alteradas
ColDeltaContagem positiva de colunas inseridas ou contagem negativa de colunas eliminadas

Regras dos participantes

Exemplo

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);

Veja também