TXLSXStructuralEditRegistry 클래스
TXLSXWorksheet.StructuralEditRegistry는 행 또는 열 삽입 및 삭제 후 참조에 민감한 업데이트를 조정합니다
내장 참여자는 항상 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부터 시작하는 행. 행이 변경되지 않은 경우 0 |
| RowDelta | 양수 삽입된 행 수 또는 음수 삭제된 행 수 |
| ColFrom | 영향을 받는 첫 번째 1부터 시작하는 열. 열이 변경되지 않은 경우 0 |
| 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);