Classe TXLSXStructuralEditRegistry
TXLSXWorksheet.StructuralEditRegistry coordina gli aggiornamenti sensibili ai riferimenti dopo l'inserimento e l'eliminazione di righe o colonne
I partecipanti integrati aggiornano sempre formule HotXLS, nomi, convalide, formati condizionali, commenti, collegamenti ipertestuali, disegni, tabelle, associazioni di query, scenari, tabelle dati, metadati di stampa, intervalli protetti, sparkline, pivot tipizzati e riferimenti di estensione conservati riconoscibili
Le applicazioni possono registrare partecipanti ordinati per i propri metadati di foglio senza sostituire la transazione integrata
Dichiarazioni
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;
Campi di modifica
| RowFrom | Prima riga a base uno interessata, oppure zero quando le righe sono invariate |
| RowDelta | Conteggio positivo di righe inserite o conteggio negativo di righe eliminate |
| ColFrom | Prima colonna a base uno interessata, oppure zero quando le colonne sono invariate |
| ColDelta | Conteggio positivo di colonne inserite o conteggio negativo di colonne eliminate |
Regole dei partecipanti
- I partecipanti vengono eseguiti in ordine di registrazione dopo tutti gli aggiornamenti di riferimento integrati
- Registrare più volte la stessa interfaccia non ha alcun effetto
Countriporta solo i partecipanti dell'applicazione perché gli aggiornamenti integrati sono sempre attivi- I partecipanti non devono modificare il registro o avviare un'altra modifica strutturale dall'interno del callback
Esempio
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);