TXLSXStructuralEditRegistry klasė
TXLSXWorksheet.StructuralEditRegistry koordinuoja į nuorodas jautrius atnaujinimus po eilutės arba stulpelio įterpimo ir ištrynimo
Įtaisytieji dalyviai visada atnaujina HotXLS formules, pavadinimus, patikras, sąlyginius formatus, komentarus, hipernuorodas, piešinius, lenteles, užklausų susiejimus, scenarijus, duomenų lenteles, spausdinimo metaduomenis, apsaugotus diapazonus, žiežirbines diagramas, tipizuotas suvestines ir atpažįstamas išsaugotų plėtinių nuorodas
Programos gali registruoti išrikiuotus dalyvius savo lapo metaduomenims, nepakeisdamos įtaisytosios operacijos
Deklaracijos
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;
Redagavimo laukai
| RowFrom | Pirmoji nuo vieneto prasidedanti paveikta eilutė arba nulis, kai eilutės nepakeistos |
| RowDelta | Teigiamas įterptų eilučių skaičius arba neigiamas ištrintų eilučių skaičius |
| ColFrom | Pirmasis nuo vieneto prasidedantis paveiktas stulpelis arba nulis, kai stulpeliai nepakeisti |
| ColDelta | Teigiamas įterptų stulpelių skaičius arba neigiamas ištrintų stulpelių skaičius |
Dalyvių taisyklės
- Dalyviai vykdomi registravimo tvarka po visų įtaisytųjų nuorodų atnaujinimų
- Pakartotinis tos pačios sąsajos registravimas neturi jokio poveikio
Countpraneša tik programos dalyvius, nes įtaisytieji atnaujinimai visada aktyvūs- Dalyviai neturi keisti registro arba pradėti kitą struktūrinį redagavimą iš skambučio vidaus
Pavyzdys
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);