Κλάση TXLSXStructuralEditRegistry
Το TXLSXWorksheet.StructuralEditRegistry συντονίζει ενημερώσεις με ευαισθησία στις αναφορές μετά την εισαγωγή και διαγραφή σειρών ή στηλών
Οι ενσωματωμένοι συμμετέχοντες ενημερώνουν πάντα τους τύπους, τα ονόματα, τις επικυρώσεις, τις υπό όρους μορφές, τα σχόλια, τους υπερσυνδέσμους, τα σχέδια, τους πίνακες, τις δεσμεύσεις ερωτημάτων, τα σενάρια, τους πίνακες δεδομένων, τα μεταδεδομένα εκτύπωσης, τις προστατευμένες περιοχές, τα sparklines, τους τυποποιημένους pivots και τις αναγνωρίσιμες διατηρημένες αναφορές επεκτάσεων του HotXLS
Οι εφαρμογές μπορούν να καταχωρίσουν διατεταγμένους συμμετέχοντες για τα δικά τους μεταδεδομένα φύλλου χωρίς να αντικαταστήσουν την ενσωματωμένη συναλλαγή
Δηλώσεις
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;
Πεδία επεξεργασίας
| RowFrom | Πρώτη επηρεαζόμενη σειρά με βάση το 1, ή μηδέν όταν οι σειρές δεν αλλάζουν |
| RowDelta | Θετικός αριθμός εισηγμένων σειρών ή αρνητικός αριθμός διαγεγραμμένων σειρών |
| ColFrom | Πρώτη επηρεαζόμενη στήλη με βάση το 1, ή μηδέν όταν οι στήλες δεν αλλάζουν |
| ColDelta | Θετικός αριθμός εισηγμένων στηλών ή αρνητικός αριθμός διαγεγραμμένων στηλών |
Κανόνες συμμετεχόντων
- Οι συμμετέχοντες εκτελούνται με τη σειρά καταχώρισης μετά από όλες τις ενσωματωμένες ενημερώσεις αναφορών
- Η καταχώριση της ίδιας διεπαφής περισσότερες από μία φορές δεν έχει αποτέλεσμα
- Το
Countαναφέρει μόνο συμμετέχοντες εφαρμογών, επειδή οι ενσωματωμένες ενημερώσεις είναι πάντα ενεργές - Οι συμμετέχοντες δεν πρέπει να αλλάζουν το μητρώο ούτε να ξεκινούν άλλη δομική επεξεργασία από μέσα στην επανάκληση
Παράδειγμα
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);