Clasa TXLSXStructuralEditRegistry
TXLSXWorksheet.StructuralEditRegistry coordonează actualizările sensibile la referințe după inserarea și ștergerea rândurilor și coloanelor
Participanții încorporați actualizează întotdeauna formulele HotXLS, numele, validările, formatele condiționate, comentariile, hyperlinkurile, desenele, tabelele, legăturile de interogare, scenariile, tabelele de date, metadatele de tipărire, intervalele protejate, sparkline-urile, tabelele pivot tipizate și referințele de extensie păstrate recunoscute
Aplicațiile pot înregistra participanți ordonați pentru propriile metadate de foaie fără a înlocui tranzacția încorporată
Declarații
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;
Câmpuri de editare
| RowFrom | Primul rând afectat bazat pe 1, sau zero când rândurile sunt neschimbate |
| RowDelta | Număr pozitiv de rânduri inserate sau număr negativ de rânduri șterse |
| ColFrom | Prima coloană afectată bazată pe 1, sau zero când coloanele sunt neschimbate |
| ColDelta | Număr pozitiv de coloane inserate sau număr negativ de coloane șterse |
Reguli pentru participanți
- Participanții rulează în ordinea de înregistrare după toate actualizările încorporate de referință
- Înregistrarea aceluiași interfață de mai multe ori nu are efect
Countraportează doar participanții aplicației, deoarece actualizările încorporate sunt întotdeauna active- Participanții nu trebuie să modifice registrul și nici să pornească altă editare structurală din interiorul callback-ului
Exemplu
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);