Documentação HotXLS

Classe TXLSXStructuralEditRegistry

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

Os participantes internos sempre atualizam fórmulas, nomes, validações, formatos condicionais, comentários, hiperlinks, desenhos, tabelas, associações de consulta, cenários, tabelas de dados, metadados de impressão, intervalos protegidos, minigráficos, pivôs tipados e referências reconhecíveis de extensões preservadas do HotXLS

Os aplicativos podem registrar participantes ordenados para seus próprios metadados de planilha sem substituir a transação interna

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 1, ou zero quando as linhas não são alteradas
RowDeltaContagem positiva de linhas inseridas ou contagem negativa de linhas excluídas
ColFromPrimeira coluna afetada com base 1, ou zero quando as colunas não são alteradas
ColDeltaContagem positiva de colunas inseridas ou contagem negativa de colunas excluídas

Regras do participante

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