TXLSXStructuralEditRegistry-klassen
TXLSXWorksheet.StructuralEditRegistry koordinerer referansefølsomme oppdateringer etter rad- eller kolonneinnsetting og -sletting
Innebygde deltakere oppdaterer alltid HotXLS-formler, navn, valideringer, betingede formater, kommentarer, hyperkoblinger, tegninger, tabeller, spørringstilknytninger, scenarier, datatabeller, utskriftsmetadata, beskyttede områder, sparklines, typede pivottabeller og gjenkjennelige bevarte utvidelsesreferanser
Applikasjoner kan registrere ordnede deltakere for sine egne arkmetadata uten å erstatte den innebygde transaksjonen
Deklarasjoner
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;
Redigeringsfelt
| RowFrom | Første én-baserte rad som påvirkes, eller null når rader er uendret |
| RowDelta | Positivt antall innsatte rader eller negativt antall slettede rader |
| ColFrom | Første én-baserte kolonne som påvirkes, eller null når kolonner er uendret |
| ColDelta | Positivt antall innsatte kolonner eller negativt antall slettede kolonner |
Deltakerregler
- Deltakere kjøres i registreringsrekkefølge etter alle innebygde referanseoppdateringer
- Å registrere det samme grensesnittet mer enn én gang har ingen effekt
Countrapporterer bare applikasjonsdeltakere fordi innebygde oppdateringer alltid er aktive- Deltakere må ikke endre registeret eller starte en annen strukturell redigering fra innsiden av tilbakemeldingen
Eksempel
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);