Clase TXLSXStructuralEditRegistry
TXLSXWorksheet.StructuralEditRegistry coordina las actualizaciones sensibles a referencias después de la inserción y eliminación de filas o columnas
Los participantes integrados siempre actualizan fórmulas, nombres, validaciones, formatos condicionales, comentarios, hipervínculos, dibujos, tablas, enlaces de consulta, escenarios, tablas de datos, metadatos de impresión, rangos protegidos, minigráficos, pivots tipados y referencias de extensión conservadas reconocibles de HotXLS
Las aplicaciones pueden registrar participantes ordenados para sus propios metadatos de hoja sin reemplazar la transacción integrada
Declaraciones
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;
Campos de edición
| RowFrom | Primera fila afectada basada en uno, o cero cuando las filas no cambian |
| RowDelta | Recuento de filas insertadas positivo o recuento de filas eliminadas negativo |
| ColFrom | Primera columna afectada basada en uno, o cero cuando las columnas no cambian |
| ColDelta | Recuento de columnas insertadas positivo o recuento de columnas eliminadas negativo |
Reglas de participantes
- Los participantes se ejecutan en orden de registro después de todas las actualizaciones de referencia integradas
- Registrar la misma interfaz más de una vez no tiene efecto
Countsolo informa de los participantes de la aplicación porque las actualizaciones integradas siempre están activas- Los participantes no deben cambiar el registro ni iniciar otra edición estructural desde dentro de la devolución de llamada
Ejemplo
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);