Klassen TXLSXDataValidation und TXLSXDataValidations

Regelmitglieder

TXLSXDataValidations Vergleichsoperator und ein oder zwei Kriterienausdrücke TXLSXWorksheet.DataValidations Zielzellen und Typ Ganzzahl, Dezimalzahl, Liste, Datum, Zeit, Textlänge oder Benutzerdefiniert TXLSXDataValidation

Op, Formula1 and Formula2

function Add(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer;
function Add(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer;
function AddList(const ARange, AItems: WideString): Integer;
procedure TXLSXDataValidation.SetPrompt(const ATitle, AText: WideString);
procedure TXLSXDataValidation.SetError(const ATitle, AText: WideString; AStyle: TXLSXDvErrorStyle = xlsxDvErrStop);

Op, Formula1 and Formula2

Range and ValidationTypePromptTitle and Prompt
Op, Formula1 and Formula2Erlaubt einen leeren Wert bei bestehender Regel
AllowBlankEingabemeldung bei Auswahl einer Zielzelle
PromptTitle and PromptWarnung bei ungültiger Eingabe mit Stopp-, Warn- oder Informationssymbol
ErrorTitle, ErrorMessage and ErrorStyleShowDropDown
ShowDropDownSteuert den Auswahlpfeil einer Listenvalidierung
ImeModeImeMode

Zielbereiche von Regeln

Seit 2.384.76 akzeptieren blattlokale Ziele einzelne Zellen, Zellrechtecke, ganze Spalten wie $B:$D und ganze Zeilen wie $5:$8; umgekehrte Endpunkte werden normalisiert, und Leerzeichen, Tabulatoren oder Zeilenumbrüche trennen mehrere Bereiche
Absolute und gemischte Verweise behalten ihren ursprünglichen Range-Text; der Abgleich verwendet Zeilen 1 bis 1048576 und Spalten A bis XFD, überspringt fehlerhafte oder außerhalb des Rasters liegende Bereiche und hält gültige Geschwisterbereiche aktiv, ohne eine neue Setter-Exception auszulösen
Blattqualifizierte und externe Verweise sind keine Zielbereiche; jede Regel gehört zu ihrem Arbeitsblatt, und Dollarzeichen müssen an gewöhnlichen A1-Referenzpositionen stehen
Regelsuche, Zell- und Bereichslöschung, Einzelzellvalidierung und Validierungsprüfungen gespeicherter Zellen verwenden dieselbe Zielgeometrie; das Parsen von Zielen ändert nichts an der Formelunterstützung für Listenquellen
Seit 2.384.77 transformieren Zeilen- und Spaltenänderungen auch Regelziele über ganze Achsen innerhalb des Arbeitsblattrasters; eine Ausdehnung über jede Zeile oder Spalte bleibt vollständig, wenn diese Achse geändert wird, während Änderungen der anderen Achse das Ziel verschieben, verkleinern oder entfernen
Das Klonen von Bereichen behält den Vertrag der vollständigen Abdeckung bei: Jeder Zielbereich muss vor dem Kopieren der Regel in das Quellrechteck passen, und bloße Teilüberschneidung kopiert keine Regel; Ziele über ganze Achsen lassen sich aus einer Quellzeile oder -spalte klonen, solange das Ziel innerhalb des Rasters bleibt
Validierungsziele über ganze Achsen bleiben bei Änderungen eine einzige Regel, wobei die Formel vom ersten überlebenden Anker aus angepasst wird; das erweitert die bestehende ODS-Interop-Unterstützung für benutzerdefinierte Boolean- oder skalare Formeln nicht

OOXML-IME-Eingabemodus für unterstützte CJK-Clients

var Index: Integer;
begin
  Index := Sheet.DataValidations.AddList('D2:D100', 'New,Active,Closed');
  Sheet.DataValidations[Index].SetPrompt('Status', 'Select a permitted status');
  Sheet.DataValidations[Index].SetError('Invalid status', 'Choose a value from the list');
end;

ODS-Umfang

Der ODS-Export leitet eine gültige Basisadresse der ersten Zelle aus dem ersten unterstützten Zielbereich ab, einschließlich ganzer Zeilen und Spalten; fehlerhafte führende Bereiche werden keine Basisadressen
Der Export benutzerdefinierter Boolean-Validierung bleibt weiterhin nicht unterstützt, und skalare Schwellenwertformeln behalten ihre vorhandenen Formelsyntax-Einschränkungen; die Zielbereichskorrektur stellt keine externe Interoperabilität für relative Validierungsformeln her

Beispiel