Klasse TXLSXStructuralEditRegistry
TXLSXWorksheet.StructuralEditRegistry coördineert referentiegevoelige updates na het invoegen en verwijderen van rijen of kolommen
Ingebouwde deelnemers werken altijd HotXLS-formules, namen, validaties, voorwaardelijke opmaak, opmerkingen, hyperlinks, tekeningen, tabellen, querybindingen, scenario's, gegevenstabellen, afdrukmetagegevens, beveiligde bereiken, sparklines, getypeerde draaitabellen en herkenbare bewaarde extensieverwijzingen bij
Toepassingen kunnen geordende deelnemers registreren voor hun eigen bladmetagegevens zonder de ingebouwde transactie te vervangen
Declaraties
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;
Bewerkingsvelden
| RowFrom | Eerste beïnvloede op 1 gebaseerde rij, of nul wanneer rijen ongewijzigd zijn |
| RowDelta | Positief aantal ingevoegde rijen of negatief aantal verwijderde rijen |
| ColFrom | Eerste beïnvloede op 1 gebaseerde kolom, of nul wanneer kolommen ongewijzigd zijn |
| ColDelta | Positief aantal ingevoegde kolommen of negatief aantal verwijderde kolommen |
Deelnemersregels
- Deelnemers worden in registratievolgorde uitgevoerd na alle ingebouwde verwijzingsupdates
- Het meerdere keren registreren van dezelfde interface heeft geen effect
Countrapporteert alleen toepassingsdeelnemers omdat ingebouwde updates altijd actief zijn- Deelnemers mogen het register niet wijzigen of vanuit de callback een andere structurele bewerking starten
Voorbeeld
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);